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

Method visit_ScopedEvalContextModifier

src/jinja2/compiler.py:1988–1998  ·  view source on GitHub ↗
(
        self, node: nodes.ScopedEvalContextModifier, frame: Frame
    )

Source from the content-addressed store, hash-verified

1986 setattr(frame.eval_ctx, keyword.key, val)
1987
1988 def visit_ScopedEvalContextModifier(
1989 self, node: nodes.ScopedEvalContextModifier, frame: Frame
1990 ) -> None:
1991 old_ctx_name = self.temporary_identifier()
1992 saved_ctx = frame.eval_ctx.save()
1993 self.writeline(f"{old_ctx_name} = context.eval_ctx.save()")
1994 self.visit_EvalContextModifier(node, frame)
1995 for child in node.body:
1996 self.visit(child, frame)
1997 frame.eval_ctx.revert(saved_ctx)
1998 self.writeline(f"context.eval_ctx.revert({old_ctx_name})")

Callers

nothing calls this directly

Calls 6

temporary_identifierMethod · 0.95
writelineMethod · 0.95
saveMethod · 0.80
visitMethod · 0.80
revertMethod · 0.80

Tested by

no test coverage detected