You've already forked python-uncompyle6
mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2025-08-03 00:45:53 +08:00
3.4: correct picking up parameter names on oa function call
This commit is contained in:
BIN
test/bytecode_2.7/def1.pyc
Normal file
BIN
test/bytecode_2.7/def1.pyc
Normal file
Binary file not shown.
BIN
test/bytecode_2.7/left.pyc
Normal file
BIN
test/bytecode_2.7/left.pyc
Normal file
Binary file not shown.
@@ -1061,6 +1061,7 @@ class Traverser(walker.Walker, object):
|
|||||||
return name
|
return name
|
||||||
|
|
||||||
# node[-1] == MAKE_xxx_n
|
# node[-1] == MAKE_xxx_n
|
||||||
|
|
||||||
defparams = node[:node[-1].attr]
|
defparams = node[:node[-1].attr]
|
||||||
code = node[code_index].attr
|
code = node[code_index].attr
|
||||||
|
|
||||||
@@ -1092,7 +1093,8 @@ class Traverser(walker.Walker, object):
|
|||||||
# params = map(lambda name, default: build_param(ast, name, default),
|
# params = map(lambda name, default: build_param(ast, name, default),
|
||||||
# paramnames, defparams)
|
# paramnames, defparams)
|
||||||
params = []
|
params = []
|
||||||
for name, default in map(lambda a, b: (a, b), paramnames, defparams):
|
for i, name in enumerate(paramnames):
|
||||||
|
default = defparams[i] if len(defparams) > i else None
|
||||||
params.append( build_param(ast, name, default) )
|
params.append( build_param(ast, name, default) )
|
||||||
|
|
||||||
params.reverse() # back to correct order
|
params.reverse() # back to correct order
|
||||||
|
@@ -1292,6 +1292,7 @@ class Walker(GenericASTTraversal, object):
|
|||||||
else:
|
else:
|
||||||
return name
|
return name
|
||||||
# node[-1] == MAKE_xxx_n
|
# node[-1] == MAKE_xxx_n
|
||||||
|
|
||||||
defparams = node[:node[-1].attr]
|
defparams = node[:node[-1].attr]
|
||||||
code = node[code_index].attr
|
code = node[code_index].attr
|
||||||
|
|
||||||
@@ -1323,7 +1324,8 @@ class Walker(GenericASTTraversal, object):
|
|||||||
# params = map(lambda name, default: build_param(ast, name, default),
|
# params = map(lambda name, default: build_param(ast, name, default),
|
||||||
# paramnames, defparams)
|
# paramnames, defparams)
|
||||||
params = []
|
params = []
|
||||||
for name, default in map(lambda a, b: (a, b), paramnames, defparams):
|
for i, name in enumerate(paramnames):
|
||||||
|
default = defparams[i] if len(defparams) > i else None
|
||||||
params.append( build_param(ast, name, default) )
|
params.append( build_param(ast, name, default) )
|
||||||
|
|
||||||
params.reverse() # back to correct order
|
params.reverse() # back to correct order
|
||||||
|
Reference in New Issue
Block a user