# *** DO NOT EDIT ***
# Auto-generated from binaryen-c.h
from enum import IntEnum, unique

from nxbinaryen.binaryen import lib

__all__ = [
    'ExpressionId',
]


@unique
class ExpressionId(IntEnum):
    ArrayCopy = lib.BinaryenArrayCopyId()
    ArrayGet = lib.BinaryenArrayGetId()
    ArrayInit = lib.BinaryenArrayInitId()
    ArrayLen = lib.BinaryenArrayLenId()
    ArrayNew = lib.BinaryenArrayNewId()
    ArrayNewSeg = lib.BinaryenArrayNewSegId()
    ArraySet = lib.BinaryenArraySetId()
    AtomicCmpxchg = lib.BinaryenAtomicCmpxchgId()
    AtomicFence = lib.BinaryenAtomicFenceId()
    AtomicNotify = lib.BinaryenAtomicNotifyId()
    AtomicRMW = lib.BinaryenAtomicRMWId()
    AtomicWait = lib.BinaryenAtomicWaitId()
    Binary = lib.BinaryenBinaryId()
    Block = lib.BinaryenBlockId()
    BrOn = lib.BinaryenBrOnId()
    Break = lib.BinaryenBreakId()
    Call = lib.BinaryenCallId()
    CallIndirect = lib.BinaryenCallIndirectId()
    CallRef = lib.BinaryenCallRefId()
    Const = lib.BinaryenConstId()
    DataDrop = lib.BinaryenDataDropId()
    Drop = lib.BinaryenDropId()
    GlobalGet = lib.BinaryenGlobalGetId()
    GlobalSet = lib.BinaryenGlobalSetId()
    I31Get = lib.BinaryenI31GetId()
    I31New = lib.BinaryenI31NewId()
    If = lib.BinaryenIfId()
    Invalid = lib.BinaryenInvalidId()
    Load = lib.BinaryenLoadId()
    LocalGet = lib.BinaryenLocalGetId()
    LocalSet = lib.BinaryenLocalSetId()
    Loop = lib.BinaryenLoopId()
    MemoryCopy = lib.BinaryenMemoryCopyId()
    MemoryFill = lib.BinaryenMemoryFillId()
    MemoryGrow = lib.BinaryenMemoryGrowId()
    MemoryInit = lib.BinaryenMemoryInitId()
    MemorySize = lib.BinaryenMemorySizeId()
    Nop = lib.BinaryenNopId()
    Pop = lib.BinaryenPopId()
    RefAs = lib.BinaryenRefAsId()
    RefCast = lib.BinaryenRefCastId()
    RefEq = lib.BinaryenRefEqId()
    RefFunc = lib.BinaryenRefFuncId()
    RefIs = lib.BinaryenRefIsId()
    RefNull = lib.BinaryenRefNullId()
    RefTest = lib.BinaryenRefTestId()
    Rethrow = lib.BinaryenRethrowId()
    Return = lib.BinaryenReturnId()
    SIMDExtract = lib.BinaryenSIMDExtractId()
    SIMDLoad = lib.BinaryenSIMDLoadId()
    SIMDLoadStoreLane = lib.BinaryenSIMDLoadStoreLaneId()
    SIMDReplace = lib.BinaryenSIMDReplaceId()
    SIMDShift = lib.BinaryenSIMDShiftId()
    SIMDShuffle = lib.BinaryenSIMDShuffleId()
    SIMDTernary = lib.BinaryenSIMDTernaryId()
    Select = lib.BinaryenSelectId()
    Store = lib.BinaryenStoreId()
    StringAs = lib.BinaryenStringAsId()
    StringConcat = lib.BinaryenStringConcatId()
    StringConst = lib.BinaryenStringConstId()
    StringEncode = lib.BinaryenStringEncodeId()
    StringEq = lib.BinaryenStringEqId()
    StringIterMove = lib.BinaryenStringIterMoveId()
    StringIterNext = lib.BinaryenStringIterNextId()
    StringMeasure = lib.BinaryenStringMeasureId()
    StringNew = lib.BinaryenStringNewId()
    StringSliceIter = lib.BinaryenStringSliceIterId()
    StringSliceWTF = lib.BinaryenStringSliceWTFId()
    StringWTF16Get = lib.BinaryenStringWTF16GetId()
    StringWTF8Advance = lib.BinaryenStringWTF8AdvanceId()
    StructGet = lib.BinaryenStructGetId()
    StructNew = lib.BinaryenStructNewId()
    StructSet = lib.BinaryenStructSetId()
    Switch = lib.BinaryenSwitchId()
    TableGet = lib.BinaryenTableGetId()
    TableGrow = lib.BinaryenTableGrowId()
    TableSet = lib.BinaryenTableSetId()
    TableSize = lib.BinaryenTableSizeId()
    Throw = lib.BinaryenThrowId()
    Try = lib.BinaryenTryId()
    TupleExtract = lib.BinaryenTupleExtractId()
    TupleMake = lib.BinaryenTupleMakeId()
    Unary = lib.BinaryenUnaryId()
    Unreachable = lib.BinaryenUnreachableId()
