Kaydet (Commit) 5c9aad60 authored tarafından Jeremy Hylton's avatar Jeremy Hylton

Only treat an AugAssign as def if its the target is a Name.

Fixes last bug found with test_scope.py.
üst 3f76b7e6
......@@ -299,9 +299,11 @@ class SymbolVisitor:
scope.add_def(node.name)
def visitAugAssign(self, node, scope):
# basically, the node is referenced and defined by the same expr
# If the LHS is a name, then this counts as assignment.
# Otherwise, it's just use.
self.visit(node.node, scope)
self.visit(node.node, scope, 1)
if isinstance(node.node, ast.Name):
self.visit(node.node, scope, 1) # XXX worry about this
self.visit(node.expr, scope)
def visitAssign(self, node, scope):
......
......@@ -299,9 +299,11 @@ class SymbolVisitor:
scope.add_def(node.name)
def visitAugAssign(self, node, scope):
# basically, the node is referenced and defined by the same expr
# If the LHS is a name, then this counts as assignment.
# Otherwise, it's just use.
self.visit(node.node, scope)
self.visit(node.node, scope, 1)
if isinstance(node.node, ast.Name):
self.visit(node.node, scope, 1) # XXX worry about this
self.visit(node.expr, scope)
def visitAssign(self, node, scope):
......
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