summaryrefslogtreecommitdiff
path: root/rebuilder.py
diff options
context:
space:
mode:
authorEmile Anclin <emile.anclin@logilab.fr>2010-02-01 12:20:55 +0100
committerEmile Anclin <emile.anclin@logilab.fr>2010-02-01 12:20:55 +0100
commit9d84aea964b35c7e11607de1b5f2a0a39a7c6a6a (patch)
treef2b4cad1faac3688070326230b394b6a2a77e910 /rebuilder.py
parentb019aed4d3831f321d77ba3b40ae997f55e50301 (diff)
downloadastroid-git-9d84aea964b35c7e11607de1b5f2a0a39a7c6a6a.tar.gz
fix: delayed AssAttr must be after setting locals
--HG-- branch : rebuild
Diffstat (limited to 'rebuilder.py')
-rw-r--r--rebuilder.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/rebuilder.py b/rebuilder.py
index 18db891d..e30bb8f1 100644
--- a/rebuilder.py
+++ b/rebuilder.py
@@ -110,9 +110,6 @@ class RebuildVisitor(ASTVisitor):
delay_method = getattr(self, 'delayed_' + name)
for node in nodes:
delay_method(node)
- delay_assattr = self.delayed_assattr
- for node in self._delayed['assattr']:
- delay_assattr(node)
for assnode, name, root_local in self._assignments:
if root_local:
assnode.root().set_local(name, assnode)
@@ -121,6 +118,10 @@ class RebuildVisitor(ASTVisitor):
# print assnode, id(assnode)
if assnode.parent is not None:
assnode.parent.set_local(name, assnode)
+
+ delay_assattr = self.delayed_assattr
+ for node in self._delayed['assattr']:
+ delay_assattr(node)
return newnode
def _save_argument_name(self, node):