diff --git a/uncompyle6/scanners/controlflow.py b/uncompyle6/scanners/controlflow.py deleted file mode 100644 index edb2e5e9..00000000 --- a/uncompyle6/scanners/controlflow.py +++ /dev/null @@ -1,38 +0,0 @@ -""" -Detect control flow as much as possible. -The basic idea here is to put in explicit end instructions that make -grammar parsing simpler and more precise. -""" - -from collections import namedtuple -from xdis.bytecode import Bytecode - -control_flow_start = namedtuple('control_flow_start', ['name', 'type', 'offset']) -control_flow_end = namedtuple('control_flow_end', ['name', 'type', 'offset']) - -class ControlFlow(): - def __init__(self, scanner): - self.scanner = scanner - self.opc = self.scanner.opc - self.setup_ops = self.scanner.setup_ops - self.op_range = self.scanner.op_range - - # Control-flow nesting - self.offset_action = {} - self.cf_end = [] - - def detect_control_flow(self, co): - self.bytecode = Bytecode(co, self.opc) - for inst in self.bytecode: - if inst.opcode in self.setup_ops: - # Use part after SETUP_ - name = inst.opname[len('SETUP_'):] - self.offset_action[inst.offset] = control_flow_start(name, 'start', inst.offset) - self.offset_action[inst.argval] = control_flow_end(name, 'end', inst.offset) - pass - pass - # import pprint - # pp = pprint.PrettyPrinter(indent=4) - # pp.pprint(self.offset_action) - - return self.offset_action diff --git a/uncompyle6/scanners/scanner3.py b/uncompyle6/scanners/scanner3.py index 1315d83a..0a6a1385 100644 --- a/uncompyle6/scanners/scanner3.py +++ b/uncompyle6/scanners/scanner3.py @@ -29,7 +29,6 @@ from uncompyle6.scanner import Scanner, op_has_argument from xdis.code import iscode from xdis.bytecode import Bytecode from uncompyle6.scanner import Token, parse_fn_counts -from uncompyle6.scanners.controlflow import ControlFlow # Get all the opcodes into globals import xdis.opcodes.opcode_33 as op3 @@ -192,7 +191,6 @@ class Scanner3(Scanner): # Format: {target offset: [jump offsets]} jump_targets = self.find_jump_targets() - offset_action = ControlFlow(self).detect_control_flow(co) for inst in bytecode: argval = inst.argval