1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
TODO list
=========
* Remove Bytecode.cellvars and Bytecode.freevars?
* Remove Bytecode.first_lineno? Compute it on conversions.
* Add instruction constants/enums? Example::
from bytecode import instructions as i
bytecode = Bytecode([i.LOAD_NAME('print'),
i.LOAD_CONST('Hello World!'),
i.CALL_FUNCTION(1),
i.POP_TOP(),
i.LOAD_CONST(None),
i.RETURN_VALUE()])
Should we support instructions without parenthesis for instruction with no
parameter? Example with POP_TOP and RETURN_VALUE::
from bytecode import instructions as i
bytecode = Bytecode([i.LOAD_NAME('print'),
i.LOAD_CONST('Hello World!'),
i.CALL_FUNCTION(1),
i.POP_TOP,
i.LOAD_CONST(None),
i.RETURN_VALUE])
* Nicer API for function arguments in bytecode object? Bytecode has argcount,
kwonlyargcount and argnames. 4 types of parameters: indexed, ``*args``,
``**kwargs`` and ``*, kwonly=3``. See inspect.signature()
|