#![doc = include_str!("readme.md")]
use serde::{Deserialize, Serialize};
#[allow(non_camel_case_types)]
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub enum PythonInstruction {
CACHE,
BINARY_MODULO,
INPLACE_MODULO,
POP_TOP,
PUSH_NULL,
INTERPRETER_EXIT,
END_FOR,
END_SEND,
NOP,
UNARY_NEGATIVE,
UNARY_NOT,
UNARY_INVERT,
RESERVED,
BINARY_SLICE,
GET_LEN,
MATCH_MAPPING,
MATCH_SEQUENCE,
MATCH_KEYS,
PUSH_EXC_INFO,
CHECK_EXC_MATCH,
CHECK_EG_MATCH,
WITH_EXCEPT_START,
BEFORE_ASYNC_WITH,
BEFORE_WITH,
END_ASYNC_FOR,
CLEANUP_THROW,
GET_ITER,
GET_YIELD_FROM_ITER,
LOAD_BUILD_CLASS,
LOAD_ASSERTION_ERROR,
RETURN_GENERATOR,
SETUP_ANNOTATIONS,
LOAD_LOCALS,
POP_EXCEPT,
MAKE_CELL,
LOAD_CLOSURE,
COPY_FREE_VARS,
YIELD_VALUE,
RESUME,
INSTRUMENTED_END_FOR,
INSTRUMENTED_END_SEND,
INSTRUMENTED_INSTRUCTION,
INSTRUMENTED_LINE,
POP_BLOCK,
INSTRUMENTED_POP_JUMP_IF_FALSE,
INSTRUMENTED_POP_JUMP_IF_TRUE,
INSTRUMENTED_JUMP_FORWARD,
INSTRUMENTED_JUMP_BACKWARD,
INSTRUMENTED_RETURN_VALUE,
INSTRUMENTED_YIELD_VALUE,
INSTRUMENTED_END_ASYNC_FOR,
INSTRUMENTED_SETUP_FINALLY,
INSTRUMENTED_RESUME,
INSTRUMENTED_DELETE_SUBSCR,
INSTRUMENTED_STORE_SUBSCR,
INSTRUMENTED_CALL,
INSTRUMENTED_EXTENDED_ARG,
INSTRUMENTED_LIST_APPEND,
INSTRUMENTED_SET_ADD,
INSTRUMENTED_MAP_ADD,
INSTRUMENTED_FOR_ITER,
INSTRUMENTED_LOAD_SUPER_ATTR,
INSTRUMENTED_POP_JUMP_IF_NONE,
INSTRUMENTED_POP_JUMP_IF_NOT_NONE,
INSTRUMENTED_CALL_FUNCTION_EX,
INSTRUMENTED_RETURN_CONST,
ROT_TWO,
ROT_THREE,
DUP_TOP,
DUP_TOP_TWO,
ROT_FOUR,
UNARY_POSITIVE,
POP_FINALLY,
RETURN_VALUE,
SETUP_CLEANUP(u32),
SETUP_WITH(u32),
END_ASYNC_WITH,
WITH_CLEANUP_START,
WITH_CLEANUP_FINISH,
ASYNC_WITH_CLEANUP_START,
ASYNC_WITH_CLEANUP_FINISH,
GEN_START,
GET_AWAITABLE_CORO,
GET_AITER_CORO,
GET_ANEXT_CORO,
END_ASYNC_FOR_CORO,
SEND(u32),
POP_FRAME,
RETURN_CONST(u32),
SETUP_ASYNC_WITH(u32),
INPLACE_ADD(u32),
INPLACE_SUBTRACT(u32),
INPLACE_MULTIPLY(u32),
INPLACE_TRUE_DIVIDE(u32),
STORE_SUBSCR(u32),
DELETE_SUBSCR(u32),
STORE_MAP(u32),
CALL_FUNCTION_EX(u32),
FORMAT_VALUE(u32),
POP_JUMP_IF_FALSE(u32),
POP_JUMP_IF_TRUE(u32),
POP_JUMP_IF_NONE(u32),
POP_JUMP_IF_NOT_NONE(u32),
JUMP_IF_FALSE_OR_POP(u32),
JUMP_IF_TRUE_OR_POP(u32),
JUMP_FORWARD(u32),
JUMP_BACKWARD(u32),
LOAD_CONST(u32),
LOAD_NAME(u32),
STORE_NAME(u32),
DELETE_NAME(u32),
LOAD_FAST(u32),
STORE_FAST(u32),
DELETE_FAST(u32),
LOAD_GLOBAL(u32),
STORE_GLOBAL(u32),
DELETE_GLOBAL(u32),
LOAD_ATTR(u32),
STORE_ATTR(u32),
DELETE_ATTR(u32),
COMPARE_OP(u32),
BINARY_OP(u32),
IMPORT_NAME(u32),
IMPORT_FROM(u32),
FOR_ITER(u32),
GET_AWAITABLE(u32),
GET_AITER(u32),
GET_ANEXT(u32),
JUMP_IF_NOT_EXC_MATCH(u32),
SETUP_FINALLY(u32),
SETUP_EXCEPT(u32),
SETUP_LOOP(u32),
EXTENDED_ARG(u32),
LOAD_DEREF(u32),
STORE_DEREF(u32),
DELETE_DEREF(u32),
LOAD_CLASSDEREF(u32),
COPY_LOCAL(u32),
LOAD_SUPER_ATTR(u32),
MAKE_FUNCTION(u32),
CALL_FUNCTION(u32),
CALL_FUNCTION_KW(u32),
LOAD_METHOD(u32),
CALL_METHOD(u32),
BUILD_TUPLE(u32),
BUILD_LIST(u32),
BUILD_SET(u32),
BUILD_MAP(u32),
BUILD_CONST_KEY_MAP(u32),
BUILD_STRING(u32),
LIST_APPEND(u32),
SET_ADD(u32),
MAP_ADD(u32),
LIST_EXTEND(u32),
SET_UPDATE(u32),
DICT_UPDATE(u32),
DICT_MERGE(u32),
MATCH_CLASS(u32),
COPY_DICT_WITHOUT_KEYS(u32),
YIELD_FROM(u32),
CALL_FINALLY(u32),
CALL_INTRINSIC_1(u32),
CALL_INTRINSIC_2(u32),
KW_NAMES(u32),
JUMP(u32),
JUMP_NO_INTERRUPT(u32),
IS_OP(u32),
CONTAINS_OP(u32),
COPY(u32),
SWAP(u32),
UNPACK_SEQUENCE(u32),
UNPACK_EX(u32),
CALL(u32),
CALL_KW(u32),
LOAD_FROM_DICT_OR_DEREF(u32),
LOAD_SUPER_METHOD(u32),
LOAD_ZERO_SUPER_METHOD(u32),
STORE_FAST_MAYBE_NULL(u32),
RERAISE(u32),
BINARY_SUBSCR,
STORE_SLICE,
JUMP_ABSOLUTE(u32),
POP_JUMP_FORWARD_IF_NOT_NONE(u32),
POP_JUMP_FORWARD_IF_NONE(u32),
RAISE_VARARGS(u32),
UNKNOWN(u8, Option<u32>),
}