summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorXavier Morel <xmo@odoo.com>2020-10-16 13:59:06 +0000
committerXavier Morel <xmo@odoo.com>2020-11-27 10:00:55 +0000
commit3d1c7231a080eebb4f6a7d56cbfa5721bf76befd (patch)
tree4954dc532a9753bfea3d3de0c13740fc16ec1949 /addons
parentc4a94bc99285aba085badeb1a41e8fe04562ef50 (diff)
[ADD] core: 3.9 bytecode instructions in safe_eval
Python 3.9 has 10 new bytecode instructions, for now this commit adds 8 * CONTAINS_OP / IS_OP: moved out of COMPARE_OP which is now only used for *rich* comparisons (bpo-39156) * JUMP_IF_NOT_EXC_MATCH: also moved out of COMPARE_OP for the sole purpose of testing exception types * RERAISE and WITH_EXCEPT_START (bpo-32949) used to simplify the context manager bytecode, but RERAISE was then used for try/except/finally, we don't support context managers in safe_eval so we don't care about the latter * LIST_TO_TUPLE, LIST_EXTEND, SET_UPDATE, DICT_MERGE and DICT_UPDATE (bpo-39320) updates to unpacking (* and **) in various contexts * LIST_TO_TUPLE we're skipping as it's only used when calling a function with two `*arg` parameters (aka `foo(*a, *b)`) * SET_UPDATE is used for set literals of 3 or more items or unpacking ({*a}) * LIST_EXTEND is used in the same cases as well as function calls with unpacking * DICT_MERGE is used for function calls with `**kwargs` * DICT_UPDATE is used when unpacking in a dict literal (`{**kw}`) See odoo/odoo#59980 closes odoo/odoo#62498 Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Diffstat (limited to 'addons')
0 files changed, 0 insertions, 0 deletions