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
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
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