NT designatore -> store to match AST

This commit is contained in:
rocky
2017-11-29 05:05:15 -05:00
parent c81b4df8b7
commit 43c3154a55
18 changed files with 168 additions and 168 deletions

View File

@@ -297,7 +297,7 @@ class SourceWalker(GenericASTTraversal, object):
[ AST('expr',
[Token('LOAD_GLOBAL', pattr='__name__',
offset=0, has_arg=True)]),
AST('designator',
AST('store',
[ Token('STORE_NAME', pattr='__module__',
offset=3, has_arg=True)])
])])
@@ -992,13 +992,13 @@ class SourceWalker(GenericASTTraversal, object):
def n_import_as(self, node):
if self.version <= 2.1:
if len(node) == 2:
designator = node[1]
assert designator == 'designator'
if designator[0].pattr == node[0].pattr:
store = node[1]
assert store == 'store'
if store[0].pattr == node[0].pattr:
self.write("import %s\n" % node[0].pattr)
else:
self.write("import %s as %s\n" %
(node[0].pattr, designator[0].pattr))
(node[0].pattr, store[0].pattr))
pass
pass
self.prune() # stop recursing
@@ -1124,12 +1124,12 @@ class SourceWalker(GenericASTTraversal, object):
list_expr = node[1]
if len(node) >= 3:
designator = node[3]
store = node[3]
elif self.is_pypy and n[0] == 'list_for':
designator = n[0][2]
store = n[0][2]
assert n == 'list_iter'
assert designator == 'designator'
assert store == 'store'
# find innermost node
while n == 'list_iter':
@@ -1256,13 +1256,13 @@ class SourceWalker(GenericASTTraversal, object):
self.customize(code._customize)
# skip over stmts sstmt smt
ast = ast[0][0][0]
designator = None
store = None
if ast in ['setcomp_func', 'dictcomp_func']:
for k in ast:
if k == 'comp_iter':
n = k
elif k == 'designator':
designator = k
elif k == 'store':
store = k
pass
pass
pass
@@ -1276,23 +1276,23 @@ class SourceWalker(GenericASTTraversal, object):
# find innermost node
if_node = None
comp_for = None
comp_designator = None
comp_store = None
if n == 'comp_iter':
comp_for = n
comp_designator = ast[3]
comp_store = ast[3]
have_not = False
while n in ('list_iter', 'comp_iter'):
n = n[0] # recurse one step
if n in ('list_for', 'comp_for'):
if n[2] == 'designator':
designator = n[2]
if n[2] == 'store':
store = n[2]
n = n[3]
elif n in ('list_if', 'list_if_not', 'comp_if', 'comp_ifnot'):
have_not = n in ('list_if_not', 'comp_ifnot')
if_node = n[0]
if n[1] == 'designator':
designator = n[1]
if n[1] == 'store':
store = n[1]
n = n[2]
pass
pass
@@ -1300,18 +1300,18 @@ class SourceWalker(GenericASTTraversal, object):
# Python 2.7+ starts including set_comp_body
# Python 3.5+ starts including setcomp_func
assert n.kind in ('lc_body', 'comp_body', 'setcomp_func', 'set_comp_body'), ast
assert designator, "Couldn't find designator in list/set comprehension"
assert store, "Couldn't find store in list/set comprehension"
self.preorder(n[0])
self.write(' for ')
if comp_designator:
self.preorder(comp_designator)
if comp_store:
self.preorder(comp_store)
else:
self.preorder(designator)
self.preorder(store)
self.write(' in ')
self.preorder(node[-3])
if comp_designator:
if comp_store:
self.preorder(comp_for)
elif if_node:
self.write(' if ')
@@ -1345,7 +1345,7 @@ class SourceWalker(GenericASTTraversal, object):
while n == 'list_iter':
n = n[0] # recurse one step
if n == 'list_for':
designator = n[2]
store = n[2]
n = n[3]
elif n in ('list_if', 'list_if_not'):
# FIXME: just a guess
@@ -1361,7 +1361,7 @@ class SourceWalker(GenericASTTraversal, object):
self.preorder(n[0])
self.write(' for ')
self.preorder(designator)
self.preorder(store)
self.write(' in ')
self.preorder(collection)
if list_if:
@@ -1391,7 +1391,7 @@ class SourceWalker(GenericASTTraversal, object):
ast = self.build_ast(code._tokens, code._customize)
self.customize(code._customize)
ast = ast[0][0][0]
designator = ast[3]
store = ast[3]
collection = node[collection_index]
n = ast[4]
@@ -1403,7 +1403,7 @@ class SourceWalker(GenericASTTraversal, object):
n = n[0] # recurse one step
# FIXME: adjust for set comprehension
if n == 'list_for':
designator = n[2]
store = n[2]
n = n[3]
elif n in ('list_if', 'list_if_not', 'comp_if', 'comp_if_not'):
# FIXME: just a guess
@@ -1419,7 +1419,7 @@ class SourceWalker(GenericASTTraversal, object):
self.preorder(n[0])
self.write(' for ')
self.preorder(designator)
self.preorder(store)
self.write(' in ')
self.preorder(collection)
if list_if:
@@ -2088,7 +2088,7 @@ class SourceWalker(GenericASTTraversal, object):
# walk lhs; this
# returns a tuple of identifiers as used
# within the function definition
assert node[1] == 'designator'
assert node[1] == 'store'
# if lhs is not a UNPACK_TUPLE (or equiv.),
# add parenteses to make this a tuple
# if node[1][0] not in ('unpack', 'unpack_list'):
@@ -2135,7 +2135,7 @@ class SourceWalker(GenericASTTraversal, object):
QUAL_NAME = AST('stmt',
[ AST('assign',
[ AST('expr', [Token('LOAD_CONST', pattr=qualname)]),
AST('designator', [ Token('STORE_NAME', pattr='__qualname__')])
AST('store', [ Token('STORE_NAME', pattr='__qualname__')])
])])
have_qualname = (ast[0][0] == QUAL_NAME)
else:
@@ -2144,7 +2144,7 @@ class SourceWalker(GenericASTTraversal, object):
try:
if (first_stmt[0] == 'assign' and
first_stmt[0][0][0] == 'LOAD_CONST' and
first_stmt[0][1] == 'designator' and
first_stmt[0][1] == 'store' and
first_stmt[0][1][0] == Token('STORE_NAME', pattr='__qualname__')):
have_qualname = True
except: