gstarnberger/uncompyle

complex constants not handled

Opened this issue · 0 comments

rocky commented

Decompiling bytecode for:

1+2j

gives unmarshalling error:

# Can't uncompyle /tmp/bc-2.7.pyc
Traceback (most recent call last):
  File "uncompyle2/__init__.py", line 203, in main
    uncompyle_file(infile, outstream, showasm, showast)
  File "uncompyle2/__init__.py", line 135, in uncompyle_file
    version, co = _load_module(filename)
  File "uncompyle2/__init__.py", line 76, in _load_module
    co = dis.marshalLoad(fp)
  File "uncompyle2/disas.py", line 193, in marshalLoad
    return load(fp)
  File "uncompyle2/disas.py", line 210, in load
    co_consts = load(fp)
  File "uncompyle2/disas.py", line 285, in load
    ret += load(fp),
  File "uncompyle2/disas.py", line 250, in load
    raise KeyError, marshalType
KeyError: 'y'

xdis/unmarshal.py might be consulted for how to fix.