MCPcopy Index your code
hub / github.com/nodejs/node / visit_Block

Method visit_Block

tools/inspector_protocol/jinja2/compiler.py:811–841  ·  view source on GitHub ↗

Call a block and register it for the template.

(self, node, frame)

Source from the content-addressed store, hash-verified

809 in self.debug_info))
810
811 def visit_Block(self, node, frame):
812 """Call a block and register it for the template."""
813 level = 0
814 if frame.toplevel:
815 # if we know that we are a child template, there is no need to
816 # check if we are one
817 if self.has_known_extends:
818 return
819 if self.extends_so_far > 0:
820 self.writeline('if parent_template is None:')
821 self.indent()
822 level += 1
823
824 if node.scoped:
825 context = self.derive_context(frame)
826 else:
827 context = self.get_context_ref()
828
829 if supports_yield_from and not self.environment.is_async and \
830 frame.buffer is None:
831 self.writeline('yield from context.blocks[%r][0](%s)' % (
832 node.name, context), node)
833 else:
834 loop = self.environment.is_async and 'async for' or 'for'
835 self.writeline('%s event in context.blocks[%r][0](%s):' % (
836 loop, node.name, context), node)
837 self.indent()
838 self.simple_write('event', frame)
839 self.outdent()
840
841 self.outdent(level)
842
843 def visit_Extends(self, node, frame):
844 """Calls the extender."""

Callers

nothing calls this directly

Calls 6

writelineMethod · 0.95
indentMethod · 0.95
derive_contextMethod · 0.95
get_context_refMethod · 0.95
simple_writeMethod · 0.95
outdentMethod · 0.95

Tested by

no test coverage detected