Files

25 lines
735 B
Python

# Copyright (c) 2019-2021 by Rocky Bernstein
"""
Python PyPy 3.3 decompiler scanner.
Does some additional massaging of xdis-disassembled instructions to
make things easier for decompilation.
"""
import uncompyle6.scanners.scanner33 as scan
# bytecode verification, verify(), uses JUMP_OPs from here
from xdis.opcodes import opcode_33pypy as opc
JUMP_OPs = map(lambda op: opc.opname[op], opc.hasjrel + opc.hasjabs)
# We base this off of 3.3
class ScannerPyPy33(scan.Scanner33):
def __init__(self, show_asm):
# There are no differences in initialization between
# pypy 3.3 and 3.3
scan.Scanner33.__init__(self, show_asm, is_pypy=True)
self.version = (3, 3)
self.opc = opc
return