You've already forked python-uncompyle6
mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2025-08-04 01:09:52 +08:00
DRY op_size
Move from scanner{2,3}.py to scanner.py
This commit is contained in:
@@ -219,6 +219,16 @@ class Scanner(object):
|
|||||||
yield start
|
yield start
|
||||||
start += self.op_size(self.code[start])
|
start += self.op_size(self.code[start])
|
||||||
|
|
||||||
|
def op_size(self, op):
|
||||||
|
"""
|
||||||
|
Return size of operator with its arguments
|
||||||
|
for given opcode <op>.
|
||||||
|
"""
|
||||||
|
if op < self.opc.HAVE_ARGUMENT:
|
||||||
|
return 1
|
||||||
|
else:
|
||||||
|
return 3
|
||||||
|
|
||||||
def remove_mid_line_ifs(self, ifs):
|
def remove_mid_line_ifs(self, ifs):
|
||||||
"""
|
"""
|
||||||
Go through passed offsets, filtering ifs
|
Go through passed offsets, filtering ifs
|
||||||
|
@@ -22,7 +22,6 @@ Finally we save token information.
|
|||||||
|
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
|
|
||||||
import inspect
|
|
||||||
from collections import namedtuple
|
from collections import namedtuple
|
||||||
from array import array
|
from array import array
|
||||||
|
|
||||||
@@ -296,16 +295,6 @@ class Scanner2(scan.Scanner):
|
|||||||
print()
|
print()
|
||||||
return tokens, customize
|
return tokens, customize
|
||||||
|
|
||||||
def op_size(self, op):
|
|
||||||
"""
|
|
||||||
Return size of operator with its arguments
|
|
||||||
for given opcode <op>.
|
|
||||||
"""
|
|
||||||
if op < self.opc.HAVE_ARGUMENT and op not in self.opc.hasArgumentExtended:
|
|
||||||
return 1
|
|
||||||
else:
|
|
||||||
return 3
|
|
||||||
|
|
||||||
def setup_code(self, co):
|
def setup_code(self, co):
|
||||||
"""
|
"""
|
||||||
Creates Python-independent bytecode structure (byte array) in
|
Creates Python-independent bytecode structure (byte array) in
|
||||||
|
@@ -388,16 +388,6 @@ class Scanner3(Scanner):
|
|||||||
for _ in range(self.op_size(op)):
|
for _ in range(self.op_size(op)):
|
||||||
self.prev_op.append(offset)
|
self.prev_op.append(offset)
|
||||||
|
|
||||||
def op_size(self, op):
|
|
||||||
"""
|
|
||||||
Return size of operator with its arguments
|
|
||||||
for given opcode <op>.
|
|
||||||
"""
|
|
||||||
if op < self.opc.HAVE_ARGUMENT:
|
|
||||||
return 1
|
|
||||||
else:
|
|
||||||
return 3
|
|
||||||
|
|
||||||
def find_jump_targets(self):
|
def find_jump_targets(self):
|
||||||
"""
|
"""
|
||||||
Detect all offsets in a byte code which are jump targets.
|
Detect all offsets in a byte code which are jump targets.
|
||||||
|
Reference in New Issue
Block a user