Closed
Description
The code object returned from _testinternalcapi.assemble_code_object.
doesn't have a code object:
from _testinternalcapi import compiler_codegen, optimize_cfg, assemble_code_object
metadata = {
'filename' : 'exc.py',
'name' : 'exc',
'consts' : {2 : 0},
}
# code for "try: pass\n except: pass"
insts = [
('RESUME', 0),
('SETUP_FINALLY', 3),
('RETURN_CONST', 0),
('SETUP_CLEANUP', 8),
('PUSH_EXC_INFO', 0),
('POP_TOP', 0),
('POP_EXCEPT', 0),
('RETURN_CONST', 0),
('COPY', 3),
('POP_EXCEPT', 0),
('RERAISE', 1),
]
from test.test_compiler_assemble import IsolatedAssembleTests
metadata = IsolatedAssembleTests().complete_metadata(metadata)
insts = IsolatedAssembleTests().complete_insts_info(insts)
co = assemble_code_object(metadata['filename'], insts, metadata)
print(co.co_exceptiontable)
Output:
b''
Linked PRs
Metadata
Metadata
Assignees
Labels
No labels