Lichen

compiler/consts.py

90:c7ddfc4525da
2016-10-08 Paul Boddie Added some support for eliminating accessor class types where the provided attributes are invoked and are unbound methods. This uses a more sophisticated method involving usage observations that incorporate invocation information, permitting classes as accessors if paths through the code support them, even if other paths require instances as accessors to invoke methods.
     1 # operation flags     2 OP_ASSIGN = 'OP_ASSIGN'     3 OP_DELETE = 'OP_DELETE'     4 OP_APPLY = 'OP_APPLY'     5      6 SC_LOCAL = 1     7 SC_GLOBAL_IMPLICIT = 2     8 SC_GLOBAL_EXPLICT = 3     9 SC_FREE = 4    10 SC_CELL = 5    11 SC_UNKNOWN = 6    12     13 CO_OPTIMIZED = 0x0001    14 CO_NEWLOCALS = 0x0002    15 CO_VARARGS = 0x0004    16 CO_VARKEYWORDS = 0x0008    17 CO_NESTED = 0x0010    18 CO_GENERATOR = 0x0020    19 CO_GENERATOR_ALLOWED = 0    20 CO_FUTURE_DIVISION = 0x2000    21 CO_FUTURE_ABSIMPORT = 0x4000    22 CO_FUTURE_WITH_STATEMENT = 0x8000    23 CO_FUTURE_PRINT_FUNCTION = 0x10000