MCPcopy
hub / github.com/pallets/jinja / Optimizer

Class Optimizer

src/jinja2/optimizer.py:27–48  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

25
26
27class Optimizer(NodeTransformer):
28 def __init__(self, environment: "t.Optional[Environment]") -> None:
29 self.environment = environment
30
31 def generic_visit(
32 self, node: nodes.Node, *args: t.Any, **kwargs: t.Any
33 ) -> nodes.Node:
34 node = super().generic_visit(node, *args, **kwargs)
35
36 # Do constant folding. Some other nodes besides Expr have
37 # as_const, but folding them causes errors later on.
38 if isinstance(node, nodes.Expr):
39 try:
40 return nodes.Const.from_untrusted(
41 node.as_const(args[0] if args else None),
42 lineno=node.lineno,
43 environment=self.environment,
44 )
45 except nodes.Impossible:
46 pass
47
48 return node

Callers 2

optimizeFunction · 0.85
__init__Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected