Commit edda878b authored by Stefan Behnel's avatar Stefan Behnel

cleanup

parent 94ed1b5a
...@@ -4141,10 +4141,7 @@ class ComprehensionNode(ScopedExprNode): ...@@ -4141,10 +4141,7 @@ class ComprehensionNode(ScopedExprNode):
def analyse_declarations(self, env): def analyse_declarations(self, env):
self.append.target = self # this is used in the PyList_Append of the inner loop self.append.target = self # this is used in the PyList_Append of the inner loop
self.init_scope(env) self.init_scope(env)
if self.expr_scope is not None: self.loop.analyse_declarations(self.expr_scope or env)
self.loop.analyse_declarations(self.expr_scope)
else:
self.loop.analyse_declarations(env)
def init_scope(self, outer_scope, expr_scope=None): def init_scope(self, outer_scope, expr_scope=None):
if expr_scope is not None: if expr_scope is not None:
......
...@@ -1057,21 +1057,17 @@ property NAME: ...@@ -1057,21 +1057,17 @@ property NAME:
self.seen_vars_stack.pop() self.seen_vars_stack.pop()
return node return node
def visit_ComprehensionNode(self, node):
self.visitchildren(node)
node.analyse_declarations(self.env_stack[-1])
return node
def visit_ScopedExprNode(self, node): def visit_ScopedExprNode(self, node):
node.analyse_declarations(self.env_stack[-1]) node.analyse_declarations(self.env_stack[-1])
if self.seen_vars_stack: # the node may or may not have a local scope
if node.expr_scope:
self.seen_vars_stack.append(set(self.seen_vars_stack[-1])) self.seen_vars_stack.append(set(self.seen_vars_stack[-1]))
else:
self.seen_vars_stack.append(set())
self.env_stack.append(node.expr_scope) self.env_stack.append(node.expr_scope)
self.visitchildren(node) self.visitchildren(node)
self.env_stack.pop() self.env_stack.pop()
self.seen_vars_stack.pop() self.seen_vars_stack.pop()
else:
self.visitchildren(node)
return node return node
def visit_TempResultFromStatNode(self, node): def visit_TempResultFromStatNode(self, node):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment