diff options
| author | Emile Anclin <emile.anclin@logilab.fr> | 2010-02-02 10:10:42 +0100 |
|---|---|---|
| committer | Emile Anclin <emile.anclin@logilab.fr> | 2010-02-02 10:10:42 +0100 |
| commit | 6ff63289e00f3e3b5054f79038cf70ad4f73ae75 (patch) | |
| tree | 1a5bf67c83ebbca3ac009f12003d5f306564779c | |
| parent | c8879cc2029b31f1223ddb36907b978f3aebd1ff (diff) | |
| download | astroid-git-6ff63289e00f3e3b5054f79038cf70ad4f73ae75.tar.gz | |
CONST_NAME_TRANSFORMS are only for compiler
--HG--
branch : rebuild
| -rw-r--r-- | _nodes_ast.py | 9 | ||||
| -rw-r--r-- | _nodes_compiler.py | 9 | ||||
| -rw-r--r-- | rebuilder.py | 12 |
3 files changed, 10 insertions, 20 deletions
diff --git a/_nodes_ast.py b/_nodes_ast.py index 454fc5b9..b3a40d08 100644 --- a/_nodes_ast.py +++ b/_nodes_ast.py @@ -448,20 +448,19 @@ class TreeRebuilder(RebuildVisitor): newnode.name = node.name return newnode - def _visit_name(self, node, parent): + def visit_name(self, node, parent): """visit a Name node by returning a fresh instance of it""" if self.asscontext == "Del": newnode = new.DelName() - newnode.name = node.id - self._save_assignment(newnode) elif self.asscontext is not None: # Ass assert self.asscontext == "Ass" newnode = new.AssName() - newnode.name = node.id - self._save_assignment(newnode) else: newnode = new.Name() newnode.name = node.id + # XXX REMOVE me : + if self.asscontext in ('Del', 'Ass'): # 'Aug' ?? + self._save_assignment(newnode) return newnode def visit_num(self, node, parent): diff --git a/_nodes_compiler.py b/_nodes_compiler.py index f0948744..e713fc10 100644 --- a/_nodes_compiler.py +++ b/_nodes_compiler.py @@ -54,8 +54,9 @@ from logilab.astng import nodes as new from logilab.astng.rebuilder import RebuildVisitor -class BaseClass: pass - +CONST_NAME_TRANSFORMS = {'None': None, + 'True': True, + 'False': False} # introduced in python 2.5 From.level = 0 # will be overridden by instance attribute with py>=2.5 @@ -548,8 +549,10 @@ class TreeRebuilder(RebuildVisitor): newnode.name = node.name return newnode - def _visit_name(self, node, parent): + def visit_name(self, node, parent): """visit a Name node by returning a fresh instance of it""" + if node.name in CONST_NAME_TRANSFORMS: + return new.Const(CONST_NAME_TRANSFORMS[node.name]) if self.asscontext == "Aug": newnode = new.AssName() else: diff --git a/rebuilder.py b/rebuilder.py index 08ad3a9b..29ff8840 100644 --- a/rebuilder.py +++ b/rebuilder.py @@ -26,9 +26,6 @@ from logilab.astng.utils import ASTVisitor, REDIRECT from logilab.astng.infutils import YES, Instance -CONST_NAME_TRANSFORMS = {'None': None, - 'True': True, - 'False': False} def _check_children(node): """a helper function to check children - parent relations""" @@ -59,8 +56,6 @@ class RebuildVisitor(ASTVisitor): def visit(self, node, parent): if node is None: # some attributes of some nodes are just None return None - # TODO : parent is never used; replace by newparent ? Could - # replace set_infos or simplify some other cases ? cls_name = node.__class__.__name__ _method_suffix = REDIRECT.get(cls_name, cls_name).lower() @@ -257,13 +252,6 @@ class RebuildVisitor(ASTVisitor): self._global_names = [] return self._visit_module(node, parent) - def visit_name(self, node, parent): - """visit an Name node to become astng""" - newnode = self._visit_name(node, parent) - if newnode.name in CONST_NAME_TRANSFORMS: - return nodes.Const(CONST_NAME_TRANSFORMS[newnode.name]) - return newnode - def visit_pass(self, node, parent): """visit a Pass node by returning a fresh instance of it""" newnode = nodes.Pass() |
