Lines Matching refs:node
81 def visit_Node(self, node):
82 if node is None:
83 return node
85 c = node.clone_node()
94 def visit_Node(self, node):
95 copy = super(ApplyPositionAndCopy, self).visit_Node(node)
110 node is a valid statement.
123 Each replacement node gets the position of the substituted node
124 recursively applied to every member node.
129 def __call__(self, node, substitutions, temps, pos):
140 result = super(TemplateTransform, self).__call__(node)
142 result = UtilNodes.TempsBlockNode(self.get_pos(node),
147 def get_pos(self, node):
151 return node.pos
153 def visit_Node(self, node):
154 if node is None:
157 c = node.clone_node()
163 def try_substitution(self, node, key):
167 if pos is None: pos = node.pos
170 return self.visit_Node(node) # make copy as usual
172 def visit_NameNode(self, node):
173 temphandle = self.tempmap.get(node.name)
176 return temphandle.ref(self.get_pos(node))
178 return self.try_substitution(node, node.name)
180 def visit_ExprStatNode(self, node):
183 if isinstance(node.expr, NameNode):
184 return self.try_substitution(node, node.expr.name)
186 return self.visit_Node(node)
188 def copy_code_tree(node):
189 return TreeCopier()(node)
239 def visit_Node(self, node):
240 node.pos = self.pos
241 self.visitchildren(node)
242 return node