示例#1
0
 def visit_assattr(self, node, parent):
     """visit a AssAttr node by returning a fresh instance of it"""
     assc, self.asscontext = self.asscontext, None
     newnode = new.AssAttr()
     _lineno_parent(node, newnode, parent)
     newnode.expr = self.visit(node.expr, newnode)
     self.asscontext = assc
     self._delayed_assattr.append(newnode)
     newnode.set_line_info(newnode.last_child())
     return newnode
示例#2
0
 def visit_assattr(self, node, parent):
     """visit an AssAttr node by returning a fresh instance of it"""
     delnode = self._check_del_node(node, parent, [node])
     if delnode:
         return delnode
     elif self.asscontext == "Del":
         return self.visit_delattr(node, parent)
     elif self.asscontext in ("Ass", "Aug"):
         newnode = new.AssAttr()
         self._set_infos(node, newnode, parent)
         asscontext, self.asscontext = self.asscontext, None
         newnode.expr = self.visit(node.expr, newnode)
         self.asscontext = asscontext
         newnode.attrname = node.attrname
         self._delayed_assattr.append(newnode)
         return newnode
示例#3
0
 def visit_getattr(self, node, parent):
     """visit a Getattr node by returning a fresh instance of it"""
     if self.asscontext == "Del":
         # FIXME : maybe we should reintroduce and visit_delattr ?
         # for instance, deactivating asscontext
         newnode = new.DelAttr()
     elif self.asscontext == "Ass":
         # FIXME : maybe we should call visit_assattr ?
         newnode = new.AssAttr()
         self._delayed_assattr.append(newnode)
     else:
         newnode = new.Getattr()
     _lineno_parent(node, newnode, parent)
     asscontext, self.asscontext = self.asscontext, None
     newnode.expr = self.visit(node.value, newnode)
     self.asscontext = asscontext
     newnode.attrname = node.attr
     newnode.set_line_info(newnode.last_child())
     return newnode