summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmile Anclin <emile.anclin@logilab.fr>2010-02-02 10:10:42 +0100
committerEmile Anclin <emile.anclin@logilab.fr>2010-02-02 10:10:42 +0100
commit6ff63289e00f3e3b5054f79038cf70ad4f73ae75 (patch)
tree1a5bf67c83ebbca3ac009f12003d5f306564779c
parentc8879cc2029b31f1223ddb36907b978f3aebd1ff (diff)
downloadastroid-git-6ff63289e00f3e3b5054f79038cf70ad4f73ae75.tar.gz
CONST_NAME_TRANSFORMS are only for compiler
--HG-- branch : rebuild
-rw-r--r--_nodes_ast.py9
-rw-r--r--_nodes_compiler.py9
-rw-r--r--rebuilder.py12
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()