option to show asm and DRY.

Get ready for some 2.3 support
This commit is contained in:
rocky
2016-06-03 09:25:20 -04:00
parent 6bdddb6a58
commit eefbc40eef
11 changed files with 69 additions and 49 deletions

View File

@@ -32,8 +32,8 @@ from xdis.bytecode import findlinestarts
import uncompyle6.scanner as scan
class Scanner2(scan.Scanner):
def __init__(self, version):
scan.Scanner.__init__(self, version)
def __init__(self, version, show_asm=False):
scan.Scanner.__init__(self, version, show_asm)
self.pop_jump_if = frozenset([self.opc.PJIF, self.opc.PJIT])
self.jump_forward = frozenset([self.opc.JA, self.opc.JF])
@@ -204,6 +204,13 @@ class Scanner2(scan.Scanner):
tokens.append(Token(op_name, oparg, pattr, offset, linestart))
else:
tokens.append(Token(replace[offset], oparg, pattr, offset, linestart))
pass
pass
if self.show_asm:
for t in tokens:
print(t)
print()
return tokens, customize
def op_size(self, op):