code: def visit_attribute(self, node, parent):
          
          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
docs: visit an Attribute node by returning a fresh instance of it