You've already forked python-uncompyle6
mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2025-08-04 09:22:40 +08:00
Merge from master
This commit is contained in:
@@ -37,7 +37,6 @@ from __future__ import print_function
|
|||||||
|
|
||||||
from xdis import iscode, instruction_size, Instruction
|
from xdis import iscode, instruction_size, Instruction
|
||||||
from xdis.bytecode import _get_const_info
|
from xdis.bytecode import _get_const_info
|
||||||
from xdis.codetype import UnicodeForPython3
|
|
||||||
|
|
||||||
from uncompyle6.scanners.tok import Token
|
from uncompyle6.scanners.tok import Token
|
||||||
from uncompyle6.scanner import parse_fn_counts_30_35
|
from uncompyle6.scanner import parse_fn_counts_30_35
|
||||||
|
@@ -65,8 +65,8 @@ The node position 0 will be associated with "import".
|
|||||||
|
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
from bisect import bisect_right
|
||||||
from collections import namedtuple
|
from collections import namedtuple
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
from spark_parser import DEFAULT_DEBUG as PARSER_DEFAULT_DEBUG
|
from spark_parser import DEFAULT_DEBUG as PARSER_DEFAULT_DEBUG
|
||||||
from spark_parser.ast import GenericASTTraversalPruningException
|
from spark_parser.ast import GenericASTTraversalPruningException
|
||||||
@@ -170,13 +170,15 @@ class FragmentsWalker(pysource.SourceWalker, object):
|
|||||||
tolerate_errors=tolerate_errors,
|
tolerate_errors=tolerate_errors,
|
||||||
)
|
)
|
||||||
|
|
||||||
# hide_internal suppresses displaying the additional instructions that sometimes
|
# Hide_internal suppresses displaying the additional instructions that sometimes
|
||||||
# exist in code but but were not written in the source code.
|
# exist in code but but were not written in the source code.
|
||||||
# An example is:
|
# An example is:
|
||||||
# __module__ = __name__
|
# __module__ = __name__
|
||||||
# If showing source code we generally don't want to show this. However in fragment
|
#
|
||||||
# deparsing we generally do need to see these instructions since we may be stopped
|
# If showing source code we generally don't want to show this. However
|
||||||
# at one. So here we do not want to suppress showing such instructions.
|
# in fragment deparsing we generally do need to see these instructions
|
||||||
|
# since we may be stopped at one. So here we do not want to suppress
|
||||||
|
# showing such instructions.
|
||||||
self.hide_internal = False
|
self.hide_internal = False
|
||||||
self.offsets = {}
|
self.offsets = {}
|
||||||
self.last_finish = -1
|
self.last_finish = -1
|
||||||
@@ -2122,9 +2124,6 @@ def code_deparse(
|
|||||||
return deparsed
|
return deparsed
|
||||||
|
|
||||||
|
|
||||||
from bisect import bisect_right
|
|
||||||
|
|
||||||
|
|
||||||
def find_gt(a, x):
|
def find_gt(a, x):
|
||||||
"Find leftmost value greater than x"
|
"Find leftmost value greater than x"
|
||||||
i = bisect_right(a, x)
|
i = bisect_right(a, x)
|
||||||
@@ -2138,7 +2137,7 @@ def code_deparse_around_offset(
|
|||||||
offset,
|
offset,
|
||||||
co,
|
co,
|
||||||
out=StringIO(),
|
out=StringIO(),
|
||||||
version=Optional[tuple],
|
version=None,
|
||||||
is_pypy=None,
|
is_pypy=None,
|
||||||
debug_opts=DEFAULT_DEBUG_OPTS,
|
debug_opts=DEFAULT_DEBUG_OPTS,
|
||||||
):
|
):
|
||||||
@@ -2314,5 +2313,6 @@ def deparsed_find(tup, deparsed, code):
|
|||||||
# # deparse_test(get_code_for_fn(FragmentsWalker.fixup_offsets))
|
# # deparse_test(get_code_for_fn(FragmentsWalker.fixup_offsets))
|
||||||
# # deparse_test(get_code_for_fn(FragmentsWalker.n_list))
|
# # deparse_test(get_code_for_fn(FragmentsWalker.n_list))
|
||||||
# print("=" * 30)
|
# print("=" * 30)
|
||||||
# # deparse_test_around(408, 'n_list', get_code_for_fn(FragmentsWalker.n_build_list))
|
# # deparse_test_around(408, 'n_list',
|
||||||
|
# get_code_for_fn(FragmentsWalker.n_build_list))
|
||||||
# # deparse_test(inspect.currentframe().f_code)
|
# # deparse_test(inspect.currentframe().f_code)
|
||||||
|
Reference in New Issue
Block a user