Conversation
|
Just tried this branch, seems fixed test = ['a', 'b', 'c', 'd', 'e', 'f']
test2 = [101, 102, 103, 1.4, 1.5]
# Python bytecode version base 2.7 (62211)
# Decompiled from: Python 3.12.10 (tags/v3.12.10:0cc8128, Apr 8 2025, 12:21:36) [MSC v.1943 64 bit (AMD64)]
# Embedded file name: /cwd/test.py
# Compiled at: 2025-11-27 10:09:06
test = [
a, b, c, d, e, f]
test2 = [101, 102, 103, 1.4, 1.5]
return
# okay decompiling .\test.pycFor For py3.12 uncompyle6 decompiles py3.8 pyc, it's correct. Didn't test py2.7 uncompyle6 decompiles py2.7 pyc. If I change L279 # Python bytecode version base 3.8.0 (3413)
# Decompiled from: Python 3.12.10 (tags/v3.12.10:0cc8128, Apr 8 2025, 12:21:36) [MSC v.1943 64 bit (AMD64)]
# Embedded file name: .\test3.py
# Compiled at: 2025-11-27 10:10:25
# Size of source mod 2**32: 72 bytes
test = [
'"a"', '"b"', '"c"', '"d"', '"e"', '"f"']
test2 = [101, 102, 103, 1.4, 1.5]
# okay decompiling .\__pycache__\test3.cpython-38.pycThe difference between python 2 and python 3 still exist. |
|
If xdis is not following dis, that should be fixed. And the FIXME, following xdis's conventions, should be fixed as well. Sadly, it took a while to come up with a plan or strategy that might accommodate all the variations in Python versions and implementations. So there's a bit of work in uncompyle6 (and/or xdis) that needs to go on. |
|
OK. I look forward to what you come up with on the scanner. Things should be consistent where they haven't been before. We need to distinguish
|
Bug identified by @wangym5106 in #521 where the optype of a list is using a constant list's constant number index instead of its value.