You've already forked python-uncompyle6
mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2025-08-03 00:45:53 +08:00
handle long literal constants faster
This commit is contained in:
@@ -319,6 +319,22 @@ class Python37BaseParser(PythonParser):
|
||||
"""
|
||||
self.addRule(rules_str, nop_func)
|
||||
|
||||
elif opname in ("BUILD_CONST_LIST", "BUILD_CONST_DICT", "BUILD_CONST_SET"):
|
||||
if opname == "BUILD_CONST_DICT":
|
||||
rule = f"""
|
||||
add_consts ::= ADD_VALUE*
|
||||
const_list ::= COLLECTION_START add_consts {opname}
|
||||
dict ::= const_list
|
||||
expr ::= dict
|
||||
"""
|
||||
else:
|
||||
rule = f"""
|
||||
add_consts ::= ADD_VALUE*
|
||||
const_list ::= COLLECTION_START add_consts {opname}
|
||||
expr ::= const_list
|
||||
"""
|
||||
self.addRule(rule, nop_func)
|
||||
|
||||
elif opname_base == "BUILD_CONST_KEY_MAP":
|
||||
kvlist_n = "expr " * (token.attr)
|
||||
rule = "dict ::= %sLOAD_CONST %s" % (kvlist_n, opname)
|
||||
|
Reference in New Issue
Block a user