MCPcopy Create free account
hub / github.com/nodejs/node / visit_NSRef

Method visit_NSRef

deps/v8/third_party/jinja2/compiler.py:1615–1627  ·  view source on GitHub ↗
(self, node: nodes.NSRef, frame: Frame)

Source from the content-addressed store, hash-verified

1613 self.write(ref)
1614
1615 def visit_NSRef(self, node: nodes.NSRef, frame: Frame) -> None:
1616 # NSRefs can only be used to store values; since they use the normal
1617 # `foo.bar` notation they will be parsed as a normal attribute access
1618 # when used anywhere but in a `set` context
1619 ref = frame.symbols.ref(node.name)
1620 self.writeline(f"if not isinstance({ref}, Namespace):")
1621 self.indent()
1622 self.writeline(
1623 "raise TemplateRuntimeError"
1624 '("cannot assign attribute on non-namespace object")'
1625 )
1626 self.outdent()
1627 self.writeline(f"{ref}[{node.attr!r}]")
1628
1629 def visit_Const(self, node: nodes.Const, frame: Frame) -> None:
1630 val = node.as_const(frame.eval_ctx)

Callers

nothing calls this directly

Calls 4

writelineMethod · 0.95
indentMethod · 0.95
outdentMethod · 0.95
refMethod · 0.65

Tested by

no test coverage detected