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

Method visit_AssignBlock

src/jinja2/compiler.py:1613–1633  ·  view source on GitHub ↗
(self, node: nodes.AssignBlock, frame: Frame)

Source from the content-addressed store, hash-verified

1611 self.pop_assign_tracking(frame)
1612
1613 def visit_AssignBlock(self, node: nodes.AssignBlock, frame: Frame) -> None:
1614 self.push_assign_tracking()
1615 block_frame = frame.inner()
1616 # This is a special case. Since a set block always captures we
1617 # will disable output checks. This way one can use set blocks
1618 # toplevel even in extended templates.
1619 block_frame.require_output_check = False
1620 block_frame.symbols.analyze_node(node)
1621 self.enter_frame(block_frame)
1622 self.buffer(block_frame)
1623 self.blockvisit(node.body, block_frame)
1624 self.newline(node)
1625 self.visit(node.target, frame)
1626 self.write(" = (Markup if context.eval_ctx.autoescape else identity)(")
1627 if node.filter is not None:
1628 self.visit_Filter(node.filter, block_frame)
1629 else:
1630 self.write(f"concat({block_frame.buffer})")
1631 self.write(")")
1632 self.pop_assign_tracking(frame)
1633 self.leave_frame(block_frame)
1634
1635 # -- Expression Visitors
1636

Callers

nothing calls this directly

Calls 12

push_assign_trackingMethod · 0.95
enter_frameMethod · 0.95
bufferMethod · 0.95
blockvisitMethod · 0.95
newlineMethod · 0.95
writeMethod · 0.95
visit_FilterMethod · 0.95
pop_assign_trackingMethod · 0.95
leave_frameMethod · 0.95
analyze_nodeMethod · 0.80
visitMethod · 0.80
innerMethod · 0.45

Tested by

no test coverage detected