def visit_assignattr(self, node, parent, assign_ctx=None): """visit a AssAttr node by returning a fresh instance of it""" newnode = new.AssignAttr() _lineno_parent(node, newnode, parent) newnode.expr = self.visit(node.expr, newnode, assign_ctx) self._delayed_assattr.append(newnode) return newnode
def visit_attribute(self, node, parent): """visit an Attribute node by returning a fresh instance of it""" context = self._get_context(node) if context == astroid.Del: # FIXME : maybe we should reintroduce and visit_delattr ? # for instance, deactivating assign_ctx newnode = nodes.DelAttr(node.attr, node.lineno, node.col_offset, parent) elif context == astroid.Store: newnode = nodes.AssignAttr(node.attr, node.lineno, node.col_offset, parent) # Prohibit a local save if we are in an ExceptHandler. if not isinstance(parent, astroid.ExceptHandler): self._delayed_assattr.append(newnode) else: newnode = nodes.Attribute(node.attr, node.lineno, node.col_offset, parent) newnode.postinit(self.visit(node.value, newnode)) return newnode
def visit_attribute(self, node, parent, assign_ctx=None): """visit a Getattr node by returning a fresh instance of it""" # pylint: disable=redefined-variable-type if assign_ctx == "Del": # FIXME : maybe we should reintroduce and visit_delattr ? # for instance, deactivating asscontext newnode = new.DelAttr() elif assign_ctx == "Assign": # FIXME : maybe we should call visit_assattr ? newnode = new.AssignAttr() self._delayed_assattr.append(newnode) else: newnode = new.Attribute() _lineno_parent(node, newnode, parent) newnode.expr = self.visit(node.value, newnode, None) newnode.attrname = node.attr return newnode
def infer_func( node: Name, context: Optional[Any] = None ) -> Iterator[Union[Iterator, Iterator[AssignAttr]]]: # pylint: disable=unused-argument new_node = nodes.AssignAttr(attrname="alpha", parent=node) yield new_node
def infer_func( node: Name, context: Any | None = None # pylint: disable=unused-argument ) -> Iterator[Iterator | Iterator[AssignAttr]]: new_node = nodes.AssignAttr(attrname="alpha", parent=node) yield new_node