diff options
author | Emile Anclin <emile.anclin@logilab.fr> | 2010-01-21 14:10:22 +0100 |
---|---|---|
committer | Emile Anclin <emile.anclin@logilab.fr> | 2010-01-21 14:10:22 +0100 |
commit | f19c445cf15e40d383ea7bff70b00242a4686691 (patch) | |
tree | 32be2f217fca8b560ac601fdc80e21c689503d82 /rebuilder.py | |
parent | c95ac3d265283b30303f57ae6e651e7893dcd884 (diff) | |
download | astroid-git-f19c445cf15e40d383ea7bff70b00242a4686691.tar.gz |
factorize, fix some bugs
--HG--
branch : rebuild
Diffstat (limited to 'rebuilder.py')
-rw-r--r-- | rebuilder.py | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/rebuilder.py b/rebuilder.py index e630826c..49260b50 100644 --- a/rebuilder.py +++ b/rebuilder.py @@ -147,12 +147,23 @@ class RebuildVisitor(ASTVisitor): """python >= 2.4 visit a Decorator node -> check for classmethod and staticmethod """ + return # TODO for decorator_expr in node.nodes: if isinstance(decorator_expr, nodes.Name) and \ decorator_expr.name in ('classmethod', 'staticmethod'): node.parent.type = decorator_expr.name return newnode + def visit_ellipsis(self, node): + """visit an Ellipsis node by returning a fresh instance of it""" + newnode = nodes.Ellipsis() + return newnode + + def visit_emptynode(self, node): + """visit an EmptyNode node by returning a fresh instance of it""" + newnode = nodes.EmptyNode() + return newnode + def visit_from(self, node): # TODO XXX root ! """visit an From node to become astng""" # add names imported by the import to locals @@ -188,21 +199,6 @@ class RebuildVisitor(ASTVisitor): newnode.type = 'method' frame.set_local(newnode.name, newnode) - def visit_assattr(self, node): # TODO - """visit an Getattr node to become astng""" - assc, self.asscontext = self.asscontext, None - newnode = self._visit_assattr(node) - self.asscontext = assc - self._delayed['assattr'].append(newnode) - return newnode - - def visit_delattr(self, node): # TODO - """visit an Getattr node to become astng""" - assc, self.asscontext = self.asscontext, None - newnode = self._visit_delattr(node) - self.asscontext = assc - return newnode - def visit_global(self, node): """visit an Global node to become astng""" newnode = nodes.Global(node.names) @@ -230,6 +226,11 @@ class RebuildVisitor(ASTVisitor): return nodes.Const(CONST_NAME_TRANSFORMS[newnode.name]) return newnode + def visit_pass(self, node): + """visit a Pass node by returning a fresh instance of it""" + newnode = nodes.Pass() + return newnode + def visit_assname(self, node): # XXX parent if self.asscontext is not None: if self._global_names and node.name in self._global_names[-1]: |