Python3 compatiblity for getting precidence. n_mkfunc needs to key off

of bytecode version, not running Python version.
This commit is contained in:
rocky
2015-12-19 18:58:30 -05:00
parent 0459b3cdc7
commit 18ce905edf
2 changed files with 6 additions and 3 deletions

View File

@@ -452,6 +452,7 @@ class Walker(GenericASTTraversal, object):
'f': out,
'indent': '',
}
self.version = version
self.p = get_python_parser(version)
self.showast = showast
self.params = params
@@ -675,9 +676,11 @@ class Walker(GenericASTTraversal, object):
n = node[0][-1][0]
else:
n = node[0]
self.prec = PRECEDENCE.get(n, -2)
self.prec = PRECEDENCE.get(n.type, -2)
if n == 'LOAD_CONST' and repr(n.pattr)[0] == '-':
self.prec = 6
if p < self.prec:
self.write('(')
self.preorder(node[0])
@@ -877,7 +880,7 @@ class Walker(GenericASTTraversal, object):
n_importstar = n_importfrom
def n_mkfunc(self, node):
if PYTHON3:
if self.version >= 3.0:
# LOAD_CONST code object ..
# LOAD_CONST 'x0'
# MAKE_FUNCTION ..