Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

parse error with Macosx #68

Closed
Louw123 opened this issue Feb 24, 2024 · 4 comments
Closed

parse error with Macosx #68

Louw123 opened this issue Feb 24, 2024 · 4 comments

Comments

@Louw123
Copy link

Louw123 commented Feb 24, 2024

Traceback (most recent call last):
File "/Users/louismcmaster/PycharmProjects/pythonProject/.venv/lib/python3.12/site-packages/cffi/cparser.py", line 336, in _parse
ast = _get_parser().parse(fullcsource)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/louismcmaster/PycharmProjects/pythonProject/.venv/lib/python3.12/site-packages/pycparser/c_parser.py", line 147, in parse
return self.cparser.parse(
^^^^^^^^^^^^^^^^^^^
File "/Users/louismcmaster/PycharmProjects/pythonProject/.venv/lib/python3.12/site-packages/pycparser/ply/yacc.py", line 331, in parse
return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/louismcmaster/PycharmProjects/pythonProject/.venv/lib/python3.12/site-packages/pycparser/ply/yacc.py", line 1199, in parseopt_notrack
tok = call_errorfunc(self.errorfunc, errtoken, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/louismcmaster/PycharmProjects/pythonProject/.venv/lib/python3.12/site-packages/pycparser/ply/yacc.py", line 193, in call_errorfunc
r = errorfunc(token)
^^^^^^^^^^^^^^^^
File "/Users/louismcmaster/PycharmProjects/pythonProject/.venv/lib/python3.12/site-packages/pycparser/c_parser.py", line 1931, in p_error
self._parse_error(
File "/Users/louismcmaster/PycharmProjects/pythonProject/.venv/lib/python3.12/site-packages/pycparser/plyparser.py", line 67, in _parse_error
raise ParseError("%s: %s" % (coord, msg))
pycparser.plyparser.ParseError: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_types.h:76:27: before: __darwin_va_list

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Users/louismcmaster/PycharmProjects/pythonProject/binaryentst.py", line 1, in
import binaryen
File "/Users/louismcmaster/PycharmProjects/pythonProject/.venv/lib/python3.12/site-packages/binaryen.py", line 78, in
ffi.cdef(parse_header_file())
File "/Users/louismcmaster/PycharmProjects/pythonProject/.venv/lib/python3.12/site-packages/cffi/api.py", line 112, in cdef
self._cdef(csource, override=override, packed=packed, pack=pack)
File "/Users/louismcmaster/PycharmProjects/pythonProject/.venv/lib/python3.12/site-packages/cffi/api.py", line 126, in _cdef
self._parser.parse(csource, override=override, **options)
File "/Users/louismcmaster/PycharmProjects/pythonProject/.venv/lib/python3.12/site-packages/cffi/cparser.py", line 389, in parse
self._internal_parse(csource)
File "/Users/louismcmaster/PycharmProjects/pythonProject/.venv/lib/python3.12/site-packages/cffi/cparser.py", line 394, in _internal_parse
ast, macros, csource = self._parse(csource)
^^^^^^^^^^^^^^^^^^^^
File "/Users/louismcmaster/PycharmProjects/pythonProject/.venv/lib/python3.12/site-packages/cffi/cparser.py", line 338, in _parse
self.convert_pycparser_error(e, csource)
File "/Users/louismcmaster/PycharmProjects/pythonProject/.venv/lib/python3.12/site-packages/cffi/cparser.py", line 367, in convert_pycparser_error
raise CDefError(msg)
cffi.CDefError: parse error
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_types.h:76:27: before: __darwin_va_list

cffi 16.00
Macbook pro

@arigo
Copy link
Contributor

arigo commented Feb 24, 2024

Are you sending the content of the system file /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_types.h straight to ffi.cdef()? It's not supposed to be done this way. The documentation is a bit vague about that point, but ffi.cdef() is supposed to contain manually-extracted bits of headers, possibly taken from the documentation of the library you want to call, or else copied from actual headers. ffi.cdef() is not a full C compiler. On the other hand, it can use the ... (dot-dot-dot) syntax at some places to make it more generic if needed, as described in https://cffi.readthedocs.io/en/stable/cdef.html#letting-the-c-compiler-fill-the-gaps .

@arigo arigo closed this as completed Feb 24, 2024
@arigo
Copy link
Contributor

arigo commented Feb 24, 2024

To complete my answer: maybe you are extracting and pre-processing the C system header manually and then sending it to ffi.cdef(). It's another approach to using ffi.cdef(), valid in some circumstances. But it won't always work out-of-the-box; e.g. in your case, the type __darwin_va_list was added to that C system header (it possibly worked with a previous version) and of course ffi.cdef() doesn't predeclare such an internal type---it's not a C compiler. The problem is in the code doing manual pre-processing, i.e. the parse_header_file() function; not in CFFI.

@Louw123
Copy link
Author

Louw123 commented Feb 25, 2024

is there any way to fix this code (helping irmen on this)

__version__ = "1.116"
__binaryen_lib_version__ = "116"


import os
import subprocess
import sys
from cffi import FFI


def cleanup_headers(headers):
    lines = []
    structs = []
    src_lines = iter(headers.splitlines())
    try:
        while True:
            line = next(src_lines).strip()
            if "deprecated" in line:
                while ";" not in line:
                    line = next(src_lines).strip()
            elif line==";":
                continue
            #elif "__attribute__" in line:
            #    raise SystemExit("TODO FIX HEADER LINE: " + line) # XXX
            elif line.startswith("typedef struct "):
                parts = line.split()
                if parts[2].endswith('*'):
                    structs.append(parts[2][:-1])
                lines.append(line)
            else:
                lines.append(line)
    except StopIteration:
        pass
    
    return "\n".join(lines), structs


def parse_header_file():
    header_location = "/usr/include/binaryen-c.h"
    if not os.path.isfile(header_location):
        header_location = "/usr/local/include/binaryen-c.h"
        if not os.path.isfile(header_location):
            raise FileNotFoundError("Can't find the header file")
            # header_location = "binaryen-c-pp.h"
            # usesysteminstalled = False

    proc1 = subprocess.Popen(["cpp", "-nostdinc", "-E", "-P", header_location], stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
    # proc2 = subprocess.Popen(["clang-format", "-style", "{BasedOnStyle: llvm, ColumnLimit: 0, AlignAfterOpenBracket: BlockIndent}"], stdin=proc1.stdout, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
    headerfile = proc1.stdout.read().decode("utf-8")

    if not headerfile:
        raise IOError("faulty header file input")

    headerfile, structs = cleanup_headers(headerfile)
    structs_source = ""
    for struct in structs:
        structs_source += "struct " + struct + " { };\n"
    return structs_source + headerfile


def get_library_suffix():
    if sys.platform == "darwin":
        return "dylib"
    elif sys.platform == "win32":
        return "dll"
    else:
        return "so"


ffi = FFI()
ffi.cdef(parse_header_file())
lib = ffi.dlopen("libbinaryen." + get_library_suffix())


def import_functions():
    # generate function names in this module are without the 'Binaryen' prefix.
    import inspect
    _current_module = __import__(__name__)
    for name, member in inspect.getmembers(lib):
        pname = name
        if name.startswith("Binaryen"):
            pname = name[8:]
        setattr(_current_module, pname, member)
        print("    {} = lib.{}".format(pname, name))

# import_functions()
del import_functions

# The following list of functions was generated by the code above,
# but included here statically for IDE/code completion purposes (and to remove the Binaryen prefix)
try:
    AbsFloat32 = lib.BinaryenAbsFloat32
    AbsFloat64 = lib.BinaryenAbsFloat64
    AbsVecF32x4 = lib.BinaryenAbsVecF32x4
    AbsVecF64x2 = lib.BinaryenAbsVecF64x2
    AbsVecI16x8 = lib.BinaryenAbsVecI16x8
    AbsVecI32x4 = lib.BinaryenAbsVecI32x4
    AbsVecI64x2 = lib.BinaryenAbsVecI64x2
    AbsVecI8x16 = lib.BinaryenAbsVecI8x16
    AddActiveElementSegment = lib.BinaryenAddActiveElementSegment
    AddCustomSection = lib.BinaryenAddCustomSection
    AddFloat32 = lib.BinaryenAddFloat32
    AddFloat64 = lib.BinaryenAddFloat64
    AddFunction = lib.BinaryenAddFunction
    AddFunctionExport = lib.BinaryenAddFunctionExport
    AddFunctionImport = lib.BinaryenAddFunctionImport
    AddFunctionWithHeapType = lib.BinaryenAddFunctionWithHeapType
    AddGlobal = lib.BinaryenAddGlobal
    AddGlobalExport = lib.BinaryenAddGlobalExport
    AddGlobalImport = lib.BinaryenAddGlobalImport
    AddInt32 = lib.BinaryenAddInt32
    AddInt64 = lib.BinaryenAddInt64
    AddMemoryExport = lib.BinaryenAddMemoryExport
    AddMemoryImport = lib.BinaryenAddMemoryImport
    AddPassiveElementSegment = lib.BinaryenAddPassiveElementSegment
    AddSatSVecI16x8 = lib.BinaryenAddSatSVecI16x8
    AddSatSVecI8x16 = lib.BinaryenAddSatSVecI8x16
    AddSatUVecI16x8 = lib.BinaryenAddSatUVecI16x8
    AddSatUVecI8x16 = lib.BinaryenAddSatUVecI8x16
    AddTable = lib.BinaryenAddTable
    AddTableExport = lib.BinaryenAddTableExport
    AddTableImport = lib.BinaryenAddTableImport
    AddTag = lib.BinaryenAddTag
    AddTagExport = lib.BinaryenAddTagExport
    AddTagImport = lib.BinaryenAddTagImport
    AddVecF32x4 = lib.BinaryenAddVecF32x4
    AddVecF64x2 = lib.BinaryenAddVecF64x2
    AddVecI16x8 = lib.BinaryenAddVecI16x8
    AddVecI32x4 = lib.BinaryenAddVecI32x4
    AddVecI64x2 = lib.BinaryenAddVecI64x2
    AddVecI8x16 = lib.BinaryenAddVecI8x16
    AllTrueVecI16x8 = lib.BinaryenAllTrueVecI16x8
    AllTrueVecI32x4 = lib.BinaryenAllTrueVecI32x4
    AllTrueVecI64x2 = lib.BinaryenAllTrueVecI64x2
    AllTrueVecI8x16 = lib.BinaryenAllTrueVecI8x16
    AndInt32 = lib.BinaryenAndInt32
    AndInt64 = lib.BinaryenAndInt64
    AndNotVec128 = lib.BinaryenAndNotVec128
    AndVec128 = lib.BinaryenAndVec128
    AnyTrueVec128 = lib.BinaryenAnyTrueVec128
    AreColorsEnabled = lib.BinaryenAreColorsEnabled
    ArrayCopy = lib.BinaryenArrayCopy
    ArrayCopyGetDestIndex = lib.BinaryenArrayCopyGetDestIndex
    ArrayCopyGetDestRef = lib.BinaryenArrayCopyGetDestRef
    ArrayCopyGetLength = lib.BinaryenArrayCopyGetLength
    ArrayCopyGetSrcIndex = lib.BinaryenArrayCopyGetSrcIndex
    ArrayCopyGetSrcRef = lib.BinaryenArrayCopyGetSrcRef
    ArrayCopyId = lib.BinaryenArrayCopyId
    ArrayCopySetDestIndex = lib.BinaryenArrayCopySetDestIndex
    ArrayCopySetDestRef = lib.BinaryenArrayCopySetDestRef
    ArrayCopySetLength = lib.BinaryenArrayCopySetLength
    ArrayCopySetSrcIndex = lib.BinaryenArrayCopySetSrcIndex
    ArrayCopySetSrcRef = lib.BinaryenArrayCopySetSrcRef
    ArrayFillId = lib.BinaryenArrayFillId
    ArrayGet = lib.BinaryenArrayGet
    ArrayGetGetIndex = lib.BinaryenArrayGetGetIndex
    ArrayGetGetRef = lib.BinaryenArrayGetGetRef
    ArrayGetId = lib.BinaryenArrayGetId
    ArrayGetIsSigned = lib.BinaryenArrayGetIsSigned
    ArrayGetSetIndex = lib.BinaryenArrayGetSetIndex
    ArrayGetSetRef = lib.BinaryenArrayGetSetRef
    ArrayGetSetSigned = lib.BinaryenArrayGetSetSigned
    ArrayInitDataId = lib.BinaryenArrayInitDataId
    ArrayInitElemId = lib.BinaryenArrayInitElemId
    ArrayLen = lib.BinaryenArrayLen
    ArrayLenGetRef = lib.BinaryenArrayLenGetRef
    ArrayLenId = lib.BinaryenArrayLenId
    ArrayLenSetRef = lib.BinaryenArrayLenSetRef
    ArrayNew = lib.BinaryenArrayNew
    ArrayNewDataId = lib.BinaryenArrayNewDataId
    ArrayNewElemId = lib.BinaryenArrayNewElemId
    ArrayNewFixed = lib.BinaryenArrayNewFixed
    ArrayNewFixedAppendValue = lib.BinaryenArrayNewFixedAppendValue
    ArrayNewFixedGetNumValues = lib.BinaryenArrayNewFixedGetNumValues
    ArrayNewFixedGetValueAt = lib.BinaryenArrayNewFixedGetValueAt
    ArrayNewFixedId = lib.BinaryenArrayNewFixedId
    ArrayNewFixedInsertValueAt = lib.BinaryenArrayNewFixedInsertValueAt
    ArrayNewFixedRemoveValueAt = lib.BinaryenArrayNewFixedRemoveValueAt
    ArrayNewFixedSetValueAt = lib.BinaryenArrayNewFixedSetValueAt
    ArrayNewGetInit = lib.BinaryenArrayNewGetInit
    ArrayNewGetSize = lib.BinaryenArrayNewGetSize
    ArrayNewId = lib.BinaryenArrayNewId
    ArrayNewSetInit = lib.BinaryenArrayNewSetInit
    ArrayNewSetSize = lib.BinaryenArrayNewSetSize
    ArraySet = lib.BinaryenArraySet
    ArraySetGetIndex = lib.BinaryenArraySetGetIndex
    ArraySetGetRef = lib.BinaryenArraySetGetRef
    ArraySetGetValue = lib.BinaryenArraySetGetValue
    ArraySetId = lib.BinaryenArraySetId
    ArraySetSetIndex = lib.BinaryenArraySetSetIndex
    ArraySetSetRef = lib.BinaryenArraySetSetRef
    ArraySetSetValue = lib.BinaryenArraySetSetValue
    ArrayTypeGetElementPackedType = lib.BinaryenArrayTypeGetElementPackedType
    ArrayTypeGetElementType = lib.BinaryenArrayTypeGetElementType
    ArrayTypeIsElementMutable = lib.BinaryenArrayTypeIsElementMutable
    AtomicCmpxchg = lib.BinaryenAtomicCmpxchg
    AtomicCmpxchgGetBytes = lib.BinaryenAtomicCmpxchgGetBytes
    AtomicCmpxchgGetExpected = lib.BinaryenAtomicCmpxchgGetExpected
    AtomicCmpxchgGetOffset = lib.BinaryenAtomicCmpxchgGetOffset
    AtomicCmpxchgGetPtr = lib.BinaryenAtomicCmpxchgGetPtr
    AtomicCmpxchgGetReplacement = lib.BinaryenAtomicCmpxchgGetReplacement
    AtomicCmpxchgId = lib.BinaryenAtomicCmpxchgId
    AtomicCmpxchgSetBytes = lib.BinaryenAtomicCmpxchgSetBytes
    AtomicCmpxchgSetExpected = lib.BinaryenAtomicCmpxchgSetExpected
    AtomicCmpxchgSetOffset = lib.BinaryenAtomicCmpxchgSetOffset
    AtomicCmpxchgSetPtr = lib.BinaryenAtomicCmpxchgSetPtr
    AtomicCmpxchgSetReplacement = lib.BinaryenAtomicCmpxchgSetReplacement
    AtomicFence = lib.BinaryenAtomicFence
    AtomicFenceGetOrder = lib.BinaryenAtomicFenceGetOrder
    AtomicFenceId = lib.BinaryenAtomicFenceId
    AtomicFenceSetOrder = lib.BinaryenAtomicFenceSetOrder
    AtomicLoad = lib.BinaryenAtomicLoad
    AtomicNotify = lib.BinaryenAtomicNotify
    AtomicNotifyGetNotifyCount = lib.BinaryenAtomicNotifyGetNotifyCount
    AtomicNotifyGetPtr = lib.BinaryenAtomicNotifyGetPtr
    AtomicNotifyId = lib.BinaryenAtomicNotifyId
    AtomicNotifySetNotifyCount = lib.BinaryenAtomicNotifySetNotifyCount
    AtomicNotifySetPtr = lib.BinaryenAtomicNotifySetPtr
    AtomicRMW = lib.BinaryenAtomicRMW
    AtomicRMWAdd = lib.BinaryenAtomicRMWAdd
    AtomicRMWAnd = lib.BinaryenAtomicRMWAnd
    AtomicRMWGetBytes = lib.BinaryenAtomicRMWGetBytes
    AtomicRMWGetOffset = lib.BinaryenAtomicRMWGetOffset
    AtomicRMWGetOp = lib.BinaryenAtomicRMWGetOp
    AtomicRMWGetPtr = lib.BinaryenAtomicRMWGetPtr
    AtomicRMWGetValue = lib.BinaryenAtomicRMWGetValue
    AtomicRMWId = lib.BinaryenAtomicRMWId
    AtomicRMWOr = lib.BinaryenAtomicRMWOr
    AtomicRMWSetBytes = lib.BinaryenAtomicRMWSetBytes
    AtomicRMWSetOffset = lib.BinaryenAtomicRMWSetOffset
    AtomicRMWSetOp = lib.BinaryenAtomicRMWSetOp
    AtomicRMWSetPtr = lib.BinaryenAtomicRMWSetPtr
    AtomicRMWSetValue = lib.BinaryenAtomicRMWSetValue
    AtomicRMWSub = lib.BinaryenAtomicRMWSub
    AtomicRMWXchg = lib.BinaryenAtomicRMWXchg
    AtomicRMWXor = lib.BinaryenAtomicRMWXor
    AtomicStore = lib.BinaryenAtomicStore
    AtomicWait = lib.BinaryenAtomicWait
    AtomicWaitGetExpected = lib.BinaryenAtomicWaitGetExpected
    AtomicWaitGetExpectedType = lib.BinaryenAtomicWaitGetExpectedType
    AtomicWaitGetPtr = lib.BinaryenAtomicWaitGetPtr
    AtomicWaitGetTimeout = lib.BinaryenAtomicWaitGetTimeout
    AtomicWaitId = lib.BinaryenAtomicWaitId
    AtomicWaitSetExpected = lib.BinaryenAtomicWaitSetExpected
    AtomicWaitSetExpectedType = lib.BinaryenAtomicWaitSetExpectedType
    AtomicWaitSetPtr = lib.BinaryenAtomicWaitSetPtr
    AtomicWaitSetTimeout = lib.BinaryenAtomicWaitSetTimeout
    AvgrUVecI16x8 = lib.BinaryenAvgrUVecI16x8
    AvgrUVecI8x16 = lib.BinaryenAvgrUVecI8x16
    Binary = lib.BinaryenBinary
    BinaryGetLeft = lib.BinaryenBinaryGetLeft
    BinaryGetOp = lib.BinaryenBinaryGetOp
    BinaryGetRight = lib.BinaryenBinaryGetRight
    BinaryId = lib.BinaryenBinaryId
    BinarySetLeft = lib.BinaryenBinarySetLeft
    BinarySetOp = lib.BinaryenBinarySetOp
    BinarySetRight = lib.BinaryenBinarySetRight
    BitmaskVecI16x8 = lib.BinaryenBitmaskVecI16x8
    BitmaskVecI32x4 = lib.BinaryenBitmaskVecI32x4
    BitmaskVecI64x2 = lib.BinaryenBitmaskVecI64x2
    BitmaskVecI8x16 = lib.BinaryenBitmaskVecI8x16
    BitselectVec128 = lib.BinaryenBitselectVec128
    Block = lib.BinaryenBlock
    BlockAppendChild = lib.BinaryenBlockAppendChild
    BlockGetChildAt = lib.BinaryenBlockGetChildAt
    BlockGetName = lib.BinaryenBlockGetName
    BlockGetNumChildren = lib.BinaryenBlockGetNumChildren
    BlockId = lib.BinaryenBlockId
    BlockInsertChildAt = lib.BinaryenBlockInsertChildAt
    BlockRemoveChildAt = lib.BinaryenBlockRemoveChildAt
    BlockSetChildAt = lib.BinaryenBlockSetChildAt
    BlockSetName = lib.BinaryenBlockSetName
    BrOn = lib.BinaryenBrOn
    BrOnCast = lib.BinaryenBrOnCast
    BrOnCastFail = lib.BinaryenBrOnCastFail
    BrOnGetCastType = lib.BinaryenBrOnGetCastType
    BrOnGetName = lib.BinaryenBrOnGetName
    BrOnGetOp = lib.BinaryenBrOnGetOp
    BrOnGetRef = lib.BinaryenBrOnGetRef
    BrOnId = lib.BinaryenBrOnId
    BrOnNonNull = lib.BinaryenBrOnNonNull
    BrOnNull = lib.BinaryenBrOnNull
    BrOnSetCastType = lib.BinaryenBrOnSetCastType
    BrOnSetName = lib.BinaryenBrOnSetName
    BrOnSetOp = lib.BinaryenBrOnSetOp
    BrOnSetRef = lib.BinaryenBrOnSetRef
    Break = lib.BinaryenBreak
    BreakGetCondition = lib.BinaryenBreakGetCondition
    BreakGetName = lib.BinaryenBreakGetName
    BreakGetValue = lib.BinaryenBreakGetValue
    BreakId = lib.BinaryenBreakId
    BreakSetCondition = lib.BinaryenBreakSetCondition
    BreakSetName = lib.BinaryenBreakSetName
    BreakSetValue = lib.BinaryenBreakSetValue
    Call = lib.BinaryenCall
    CallAppendOperand = lib.BinaryenCallAppendOperand
    CallGetNumOperands = lib.BinaryenCallGetNumOperands
    CallGetOperandAt = lib.BinaryenCallGetOperandAt
    CallGetTarget = lib.BinaryenCallGetTarget
    CallId = lib.BinaryenCallId
    CallIndirect = lib.BinaryenCallIndirect
    CallIndirectAppendOperand = lib.BinaryenCallIndirectAppendOperand
    CallIndirectGetNumOperands = lib.BinaryenCallIndirectGetNumOperands
    CallIndirectGetOperandAt = lib.BinaryenCallIndirectGetOperandAt
    CallIndirectGetParams = lib.BinaryenCallIndirectGetParams
    CallIndirectGetResults = lib.BinaryenCallIndirectGetResults
    CallIndirectGetTable = lib.BinaryenCallIndirectGetTable
    CallIndirectGetTarget = lib.BinaryenCallIndirectGetTarget
    CallIndirectId = lib.BinaryenCallIndirectId
    CallIndirectInsertOperandAt = lib.BinaryenCallIndirectInsertOperandAt
    CallIndirectIsReturn = lib.BinaryenCallIndirectIsReturn
    CallIndirectRemoveOperandAt = lib.BinaryenCallIndirectRemoveOperandAt
    CallIndirectSetOperandAt = lib.BinaryenCallIndirectSetOperandAt
    CallIndirectSetParams = lib.BinaryenCallIndirectSetParams
    CallIndirectSetResults = lib.BinaryenCallIndirectSetResults
    CallIndirectSetReturn = lib.BinaryenCallIndirectSetReturn
    CallIndirectSetTable = lib.BinaryenCallIndirectSetTable
    CallIndirectSetTarget = lib.BinaryenCallIndirectSetTarget
    CallInsertOperandAt = lib.BinaryenCallInsertOperandAt
    CallIsReturn = lib.BinaryenCallIsReturn
    CallRef = lib.BinaryenCallRef
    CallRefAppendOperand = lib.BinaryenCallRefAppendOperand
    CallRefGetNumOperands = lib.BinaryenCallRefGetNumOperands
    CallRefGetOperandAt = lib.BinaryenCallRefGetOperandAt
    CallRefGetTarget = lib.BinaryenCallRefGetTarget
    CallRefId = lib.BinaryenCallRefId
    CallRefInsertOperandAt = lib.BinaryenCallRefInsertOperandAt
    CallRefIsReturn = lib.BinaryenCallRefIsReturn
    CallRefRemoveOperandAt = lib.BinaryenCallRefRemoveOperandAt
    CallRefSetOperandAt = lib.BinaryenCallRefSetOperandAt
    CallRefSetReturn = lib.BinaryenCallRefSetReturn
    CallRefSetTarget = lib.BinaryenCallRefSetTarget
    CallRemoveOperandAt = lib.BinaryenCallRemoveOperandAt
    CallSetOperandAt = lib.BinaryenCallSetOperandAt
    CallSetReturn = lib.BinaryenCallSetReturn
    CallSetTarget = lib.BinaryenCallSetTarget
    CeilFloat32 = lib.BinaryenCeilFloat32
    CeilFloat64 = lib.BinaryenCeilFloat64
    CeilVecF32x4 = lib.BinaryenCeilVecF32x4
    CeilVecF64x2 = lib.BinaryenCeilVecF64x2
    ClearPassArguments = lib.BinaryenClearPassArguments
    ClzInt32 = lib.BinaryenClzInt32
    ClzInt64 = lib.BinaryenClzInt64
    Const = lib.BinaryenConst
    ConstGetValueF32 = lib.BinaryenConstGetValueF32
    ConstGetValueF64 = lib.BinaryenConstGetValueF64
    ConstGetValueI32 = lib.BinaryenConstGetValueI32
    ConstGetValueI64 = lib.BinaryenConstGetValueI64
    ConstGetValueI64High = lib.BinaryenConstGetValueI64High
    ConstGetValueI64Low = lib.BinaryenConstGetValueI64Low
    ConstGetValueV128 = lib.BinaryenConstGetValueV128
    ConstId = lib.BinaryenConstId
    ConstSetValueF32 = lib.BinaryenConstSetValueF32
    ConstSetValueF64 = lib.BinaryenConstSetValueF64
    ConstSetValueI32 = lib.BinaryenConstSetValueI32
    ConstSetValueI64 = lib.BinaryenConstSetValueI64
    ConstSetValueI64High = lib.BinaryenConstSetValueI64High
    ConstSetValueI64Low = lib.BinaryenConstSetValueI64Low
    ConstSetValueV128 = lib.BinaryenConstSetValueV128
    ConvertLowSVecI32x4ToVecF64x2 = lib.BinaryenConvertLowSVecI32x4ToVecF64x2
    ConvertLowUVecI32x4ToVecF64x2 = lib.BinaryenConvertLowUVecI32x4ToVecF64x2
    ConvertSInt32ToFloat32 = lib.BinaryenConvertSInt32ToFloat32
    ConvertSInt32ToFloat64 = lib.BinaryenConvertSInt32ToFloat64
    ConvertSInt64ToFloat32 = lib.BinaryenConvertSInt64ToFloat32
    ConvertSInt64ToFloat64 = lib.BinaryenConvertSInt64ToFloat64
    ConvertSVecI32x4ToVecF32x4 = lib.BinaryenConvertSVecI32x4ToVecF32x4
    ConvertUInt32ToFloat32 = lib.BinaryenConvertUInt32ToFloat32
    ConvertUInt32ToFloat64 = lib.BinaryenConvertUInt32ToFloat64
    ConvertUInt64ToFloat32 = lib.BinaryenConvertUInt64ToFloat32
    ConvertUInt64ToFloat64 = lib.BinaryenConvertUInt64ToFloat64
    ConvertUVecI32x4ToVecF32x4 = lib.BinaryenConvertUVecI32x4ToVecF32x4
    CopyMemorySegmentData = lib.BinaryenCopyMemorySegmentData
    CopySignFloat32 = lib.BinaryenCopySignFloat32
    CopySignFloat64 = lib.BinaryenCopySignFloat64
    CtzInt32 = lib.BinaryenCtzInt32
    CtzInt64 = lib.BinaryenCtzInt64
    DataDrop = lib.BinaryenDataDrop
    DataDropGetSegment = lib.BinaryenDataDropGetSegment
    DataDropId = lib.BinaryenDataDropId
    DataDropSetSegment = lib.BinaryenDataDropSetSegment
    DemoteFloat64 = lib.BinaryenDemoteFloat64
    DemoteZeroVecF64x2ToVecF32x4 = lib.BinaryenDemoteZeroVecF64x2ToVecF32x4
    DivFloat32 = lib.BinaryenDivFloat32
    DivFloat64 = lib.BinaryenDivFloat64
    DivSInt32 = lib.BinaryenDivSInt32
    DivSInt64 = lib.BinaryenDivSInt64
    DivUInt32 = lib.BinaryenDivUInt32
    DivUInt64 = lib.BinaryenDivUInt64
    DivVecF32x4 = lib.BinaryenDivVecF32x4
    DivVecF64x2 = lib.BinaryenDivVecF64x2
    DotI8x16I7x16AddSToVecI32x4 = lib.BinaryenDotI8x16I7x16AddSToVecI32x4
    DotI8x16I7x16SToVecI16x8 = lib.BinaryenDotI8x16I7x16SToVecI16x8
    DotSVecI16x8ToVecI32x4 = lib.BinaryenDotSVecI16x8ToVecI32x4
    Drop = lib.BinaryenDrop
    DropGetValue = lib.BinaryenDropGetValue
    DropId = lib.BinaryenDropId
    DropSetValue = lib.BinaryenDropSetValue
    ElementSegmentGetData = lib.BinaryenElementSegmentGetData
    ElementSegmentGetLength = lib.BinaryenElementSegmentGetLength
    ElementSegmentGetName = lib.BinaryenElementSegmentGetName
    ElementSegmentGetOffset = lib.BinaryenElementSegmentGetOffset
    ElementSegmentGetTable = lib.BinaryenElementSegmentGetTable
    ElementSegmentIsPassive = lib.BinaryenElementSegmentIsPassive
    ElementSegmentSetName = lib.BinaryenElementSegmentSetName
    ElementSegmentSetTable = lib.BinaryenElementSegmentSetTable
    EqFloat32 = lib.BinaryenEqFloat32
    EqFloat64 = lib.BinaryenEqFloat64
    EqInt32 = lib.BinaryenEqInt32
    EqInt64 = lib.BinaryenEqInt64
    EqVecF32x4 = lib.BinaryenEqVecF32x4
    EqVecF64x2 = lib.BinaryenEqVecF64x2
    EqVecI16x8 = lib.BinaryenEqVecI16x8
    EqVecI32x4 = lib.BinaryenEqVecI32x4
    EqVecI64x2 = lib.BinaryenEqVecI64x2
    EqVecI8x16 = lib.BinaryenEqVecI8x16
    EqZInt32 = lib.BinaryenEqZInt32
    EqZInt64 = lib.BinaryenEqZInt64
    ExportGetKind = lib.BinaryenExportGetKind
    ExportGetName = lib.BinaryenExportGetName
    ExportGetValue = lib.BinaryenExportGetValue
    ExpressionCopy = lib.BinaryenExpressionCopy
    ExpressionFinalize = lib.BinaryenExpressionFinalize
    ExpressionGetId = lib.BinaryenExpressionGetId
    ExpressionGetSideEffects = lib.BinaryenExpressionGetSideEffects
    ExpressionGetType = lib.BinaryenExpressionGetType
    ExpressionPrint = lib.BinaryenExpressionPrint
    ExpressionSetType = lib.BinaryenExpressionSetType
    ExtAddPairwiseSVecI16x8ToI32x4 = lib.BinaryenExtAddPairwiseSVecI16x8ToI32x4
    ExtAddPairwiseSVecI8x16ToI16x8 = lib.BinaryenExtAddPairwiseSVecI8x16ToI16x8
    ExtAddPairwiseUVecI16x8ToI32x4 = lib.BinaryenExtAddPairwiseUVecI16x8ToI32x4
    ExtAddPairwiseUVecI8x16ToI16x8 = lib.BinaryenExtAddPairwiseUVecI8x16ToI16x8
    ExtMulHighSVecI16x8 = lib.BinaryenExtMulHighSVecI16x8
    ExtMulHighSVecI32x4 = lib.BinaryenExtMulHighSVecI32x4
    ExtMulHighSVecI64x2 = lib.BinaryenExtMulHighSVecI64x2
    ExtMulHighUVecI16x8 = lib.BinaryenExtMulHighUVecI16x8
    ExtMulHighUVecI32x4 = lib.BinaryenExtMulHighUVecI32x4
    ExtMulHighUVecI64x2 = lib.BinaryenExtMulHighUVecI64x2
    ExtMulLowSVecI16x8 = lib.BinaryenExtMulLowSVecI16x8
    ExtMulLowSVecI32x4 = lib.BinaryenExtMulLowSVecI32x4
    ExtMulLowSVecI64x2 = lib.BinaryenExtMulLowSVecI64x2
    ExtMulLowUVecI16x8 = lib.BinaryenExtMulLowUVecI16x8
    ExtMulLowUVecI32x4 = lib.BinaryenExtMulLowUVecI32x4
    ExtMulLowUVecI64x2 = lib.BinaryenExtMulLowUVecI64x2
    ExtendHighSVecI16x8ToVecI32x4 = lib.BinaryenExtendHighSVecI16x8ToVecI32x4
    ExtendHighSVecI32x4ToVecI64x2 = lib.BinaryenExtendHighSVecI32x4ToVecI64x2
    ExtendHighSVecI8x16ToVecI16x8 = lib.BinaryenExtendHighSVecI8x16ToVecI16x8
    ExtendHighUVecI16x8ToVecI32x4 = lib.BinaryenExtendHighUVecI16x8ToVecI32x4
    ExtendHighUVecI32x4ToVecI64x2 = lib.BinaryenExtendHighUVecI32x4ToVecI64x2
    ExtendHighUVecI8x16ToVecI16x8 = lib.BinaryenExtendHighUVecI8x16ToVecI16x8
    ExtendLowSVecI16x8ToVecI32x4 = lib.BinaryenExtendLowSVecI16x8ToVecI32x4
    ExtendLowSVecI32x4ToVecI64x2 = lib.BinaryenExtendLowSVecI32x4ToVecI64x2
    ExtendLowSVecI8x16ToVecI16x8 = lib.BinaryenExtendLowSVecI8x16ToVecI16x8
    ExtendLowUVecI16x8ToVecI32x4 = lib.BinaryenExtendLowUVecI16x8ToVecI32x4
    ExtendLowUVecI32x4ToVecI64x2 = lib.BinaryenExtendLowUVecI32x4ToVecI64x2
    ExtendLowUVecI8x16ToVecI16x8 = lib.BinaryenExtendLowUVecI8x16ToVecI16x8
    ExtendS16Int32 = lib.BinaryenExtendS16Int32
    ExtendS16Int64 = lib.BinaryenExtendS16Int64
    ExtendS32Int64 = lib.BinaryenExtendS32Int64
    ExtendS8Int32 = lib.BinaryenExtendS8Int32
    ExtendS8Int64 = lib.BinaryenExtendS8Int64
    ExtendSInt32 = lib.BinaryenExtendSInt32
    ExtendUInt32 = lib.BinaryenExtendUInt32
    ExternalFunction = lib.BinaryenExternalFunction
    ExternalGlobal = lib.BinaryenExternalGlobal
    ExternalMemory = lib.BinaryenExternalMemory
    ExternalTable = lib.BinaryenExternalTable
    ExternalTag = lib.BinaryenExternalTag
    ExtractLaneSVecI16x8 = lib.BinaryenExtractLaneSVecI16x8
    ExtractLaneSVecI8x16 = lib.BinaryenExtractLaneSVecI8x16
    ExtractLaneUVecI16x8 = lib.BinaryenExtractLaneUVecI16x8
    ExtractLaneUVecI8x16 = lib.BinaryenExtractLaneUVecI8x16
    ExtractLaneVecF32x4 = lib.BinaryenExtractLaneVecF32x4
    ExtractLaneVecF64x2 = lib.BinaryenExtractLaneVecF64x2
    ExtractLaneVecI32x4 = lib.BinaryenExtractLaneVecI32x4
    ExtractLaneVecI64x2 = lib.BinaryenExtractLaneVecI64x2
    FeatureAll = lib.BinaryenFeatureAll
    FeatureAtomics = lib.BinaryenFeatureAtomics
    FeatureBulkMemory = lib.BinaryenFeatureBulkMemory
    FeatureExceptionHandling = lib.BinaryenFeatureExceptionHandling
    FeatureExtendedConst = lib.BinaryenFeatureExtendedConst
    FeatureGC = lib.BinaryenFeatureGC
    FeatureMVP = lib.BinaryenFeatureMVP
    FeatureMemory64 = lib.BinaryenFeatureMemory64
    FeatureMultiMemory = lib.BinaryenFeatureMultiMemory
    FeatureMultivalue = lib.BinaryenFeatureMultivalue
    FeatureMutableGlobals = lib.BinaryenFeatureMutableGlobals
    FeatureNontrappingFPToInt = lib.BinaryenFeatureNontrappingFPToInt
    FeatureReferenceTypes = lib.BinaryenFeatureReferenceTypes
    FeatureRelaxedSIMD = lib.BinaryenFeatureRelaxedSIMD
    FeatureSIMD128 = lib.BinaryenFeatureSIMD128
    FeatureSignExt = lib.BinaryenFeatureSignExt
    FeatureStrings = lib.BinaryenFeatureStrings
    FeatureTailCall = lib.BinaryenFeatureTailCall
    FloorFloat32 = lib.BinaryenFloorFloat32
    FloorFloat64 = lib.BinaryenFloorFloat64
    FloorVecF32x4 = lib.BinaryenFloorVecF32x4
    FloorVecF64x2 = lib.BinaryenFloorVecF64x2
    FunctionGetBody = lib.BinaryenFunctionGetBody
    FunctionGetLocalName = lib.BinaryenFunctionGetLocalName
    FunctionGetName = lib.BinaryenFunctionGetName
    FunctionGetNumLocals = lib.BinaryenFunctionGetNumLocals
    FunctionGetNumVars = lib.BinaryenFunctionGetNumVars
    FunctionGetParams = lib.BinaryenFunctionGetParams
    FunctionGetResults = lib.BinaryenFunctionGetResults
    FunctionGetVar = lib.BinaryenFunctionGetVar
    FunctionHasLocalName = lib.BinaryenFunctionHasLocalName
    FunctionImportGetBase = lib.BinaryenFunctionImportGetBase
    FunctionImportGetModule = lib.BinaryenFunctionImportGetModule
    FunctionOptimize = lib.BinaryenFunctionOptimize
    FunctionRunPasses = lib.BinaryenFunctionRunPasses
    FunctionSetBody = lib.BinaryenFunctionSetBody
    FunctionSetDebugLocation = lib.BinaryenFunctionSetDebugLocation
    FunctionSetLocalName = lib.BinaryenFunctionSetLocalName
    GeFloat32 = lib.BinaryenGeFloat32
    GeFloat64 = lib.BinaryenGeFloat64
    GeSInt32 = lib.BinaryenGeSInt32
    GeSInt64 = lib.BinaryenGeSInt64
    GeSVecI16x8 = lib.BinaryenGeSVecI16x8
    GeSVecI32x4 = lib.BinaryenGeSVecI32x4
    GeSVecI64x2 = lib.BinaryenGeSVecI64x2
    GeSVecI8x16 = lib.BinaryenGeSVecI8x16
    GeUInt32 = lib.BinaryenGeUInt32
    GeUInt64 = lib.BinaryenGeUInt64
    GeUVecI16x8 = lib.BinaryenGeUVecI16x8
    GeUVecI32x4 = lib.BinaryenGeUVecI32x4
    GeUVecI8x16 = lib.BinaryenGeUVecI8x16
    GeVecF32x4 = lib.BinaryenGeVecF32x4
    GeVecF64x2 = lib.BinaryenGeVecF64x2
    GetAllowInliningFunctionsWithLoops = lib.BinaryenGetAllowInliningFunctionsWithLoops
    GetAlwaysInlineMaxSize = lib.BinaryenGetAlwaysInlineMaxSize
    GetDebugInfo = lib.BinaryenGetDebugInfo
    GetElementSegment = lib.BinaryenGetElementSegment
    GetElementSegmentByIndex = lib.BinaryenGetElementSegmentByIndex
    GetExport = lib.BinaryenGetExport
    GetExportByIndex = lib.BinaryenGetExportByIndex
    GetFastMath = lib.BinaryenGetFastMath
    GetFlexibleInlineMaxSize = lib.BinaryenGetFlexibleInlineMaxSize
    GetFunction = lib.BinaryenGetFunction
    GetFunctionByIndex = lib.BinaryenGetFunctionByIndex
    GetGlobal = lib.BinaryenGetGlobal
    GetGlobalByIndex = lib.BinaryenGetGlobalByIndex
    GetLowMemoryUnused = lib.BinaryenGetLowMemoryUnused
    GetMemorySegmentByteLength = lib.BinaryenGetMemorySegmentByteLength
    GetMemorySegmentByteOffset = lib.BinaryenGetMemorySegmentByteOffset
    GetMemorySegmentPassive = lib.BinaryenGetMemorySegmentPassive
    GetNumElementSegments = lib.BinaryenGetNumElementSegments
    GetNumExports = lib.BinaryenGetNumExports
    GetNumFunctions = lib.BinaryenGetNumFunctions
    GetNumGlobals = lib.BinaryenGetNumGlobals
    GetNumMemorySegments = lib.BinaryenGetNumMemorySegments
    GetNumTables = lib.BinaryenGetNumTables
    GetOneCallerInlineMaxSize = lib.BinaryenGetOneCallerInlineMaxSize
    GetOptimizeLevel = lib.BinaryenGetOptimizeLevel
    GetPassArgument = lib.BinaryenGetPassArgument
    GetShrinkLevel = lib.BinaryenGetShrinkLevel
    GetTable = lib.BinaryenGetTable
    GetTableByIndex = lib.BinaryenGetTableByIndex
    GetTag = lib.BinaryenGetTag
    GetZeroFilledMemory = lib.BinaryenGetZeroFilledMemory
    GlobalGet = lib.BinaryenGlobalGet
    GlobalGetGetName = lib.BinaryenGlobalGetGetName
    GlobalGetId = lib.BinaryenGlobalGetId
    GlobalGetInitExpr = lib.BinaryenGlobalGetInitExpr
    GlobalGetName = lib.BinaryenGlobalGetName
    GlobalGetSetName = lib.BinaryenGlobalGetSetName
    GlobalGetType = lib.BinaryenGlobalGetType
    GlobalImportGetBase = lib.BinaryenGlobalImportGetBase
    GlobalImportGetModule = lib.BinaryenGlobalImportGetModule
    GlobalIsMutable = lib.BinaryenGlobalIsMutable
    GlobalSet = lib.BinaryenGlobalSet
    GlobalSetGetName = lib.BinaryenGlobalSetGetName
    GlobalSetGetValue = lib.BinaryenGlobalSetGetValue
    GlobalSetId = lib.BinaryenGlobalSetId
    GlobalSetSetName = lib.BinaryenGlobalSetSetName
    GlobalSetSetValue = lib.BinaryenGlobalSetSetValue
    GtFloat32 = lib.BinaryenGtFloat32
    GtFloat64 = lib.BinaryenGtFloat64
    GtSInt32 = lib.BinaryenGtSInt32
    GtSInt64 = lib.BinaryenGtSInt64
    GtSVecI16x8 = lib.BinaryenGtSVecI16x8
    GtSVecI32x4 = lib.BinaryenGtSVecI32x4
    GtSVecI64x2 = lib.BinaryenGtSVecI64x2
    GtSVecI8x16 = lib.BinaryenGtSVecI8x16
    GtUInt32 = lib.BinaryenGtUInt32
    GtUInt64 = lib.BinaryenGtUInt64
    GtUVecI16x8 = lib.BinaryenGtUVecI16x8
    GtUVecI32x4 = lib.BinaryenGtUVecI32x4
    GtUVecI8x16 = lib.BinaryenGtUVecI8x16
    GtVecF32x4 = lib.BinaryenGtVecF32x4
    GtVecF64x2 = lib.BinaryenGtVecF64x2
    HasMemory = lib.BinaryenHasMemory
    HeapTypeAny = lib.BinaryenHeapTypeAny
    HeapTypeArray = lib.BinaryenHeapTypeArray
    HeapTypeEq = lib.BinaryenHeapTypeEq
    HeapTypeExt = lib.BinaryenHeapTypeExt
    HeapTypeFunc = lib.BinaryenHeapTypeFunc
    HeapTypeGetBottom = lib.BinaryenHeapTypeGetBottom
    HeapTypeI31 = lib.BinaryenHeapTypeI31
    HeapTypeIsArray = lib.BinaryenHeapTypeIsArray
    HeapTypeIsBasic = lib.BinaryenHeapTypeIsBasic
    HeapTypeIsBottom = lib.BinaryenHeapTypeIsBottom
    HeapTypeIsSignature = lib.BinaryenHeapTypeIsSignature
    HeapTypeIsStruct = lib.BinaryenHeapTypeIsStruct
    HeapTypeIsSubType = lib.BinaryenHeapTypeIsSubType
    HeapTypeNoext = lib.BinaryenHeapTypeNoext
    HeapTypeNofunc = lib.BinaryenHeapTypeNofunc
    HeapTypeNone = lib.BinaryenHeapTypeNone
    HeapTypeString = lib.BinaryenHeapTypeString
    HeapTypeStringviewIter = lib.BinaryenHeapTypeStringviewIter
    HeapTypeStringviewWTF16 = lib.BinaryenHeapTypeStringviewWTF16
    HeapTypeStringviewWTF8 = lib.BinaryenHeapTypeStringviewWTF8
    HeapTypeStruct = lib.BinaryenHeapTypeStruct
    I31Get = lib.BinaryenI31Get
    I31GetGetI31 = lib.BinaryenI31GetGetI31
    I31GetId = lib.BinaryenI31GetId
    I31GetIsSigned = lib.BinaryenI31GetIsSigned
    I31GetSetI31 = lib.BinaryenI31GetSetI31
    I31GetSetSigned = lib.BinaryenI31GetSetSigned
    If = lib.BinaryenIf
    IfGetCondition = lib.BinaryenIfGetCondition
    IfGetIfFalse = lib.BinaryenIfGetIfFalse
    IfGetIfTrue = lib.BinaryenIfGetIfTrue
    IfId = lib.BinaryenIfId
    IfSetCondition = lib.BinaryenIfSetCondition
    IfSetIfFalse = lib.BinaryenIfSetIfFalse
    IfSetIfTrue = lib.BinaryenIfSetIfTrue
    InvalidId = lib.BinaryenInvalidId
    LaneselectI16x8 = lib.BinaryenLaneselectI16x8
    LaneselectI32x4 = lib.BinaryenLaneselectI32x4
    LaneselectI64x2 = lib.BinaryenLaneselectI64x2
    LaneselectI8x16 = lib.BinaryenLaneselectI8x16
    LeFloat32 = lib.BinaryenLeFloat32
    LeFloat64 = lib.BinaryenLeFloat64
    LeSInt32 = lib.BinaryenLeSInt32
    LeSInt64 = lib.BinaryenLeSInt64
    LeSVecI16x8 = lib.BinaryenLeSVecI16x8
    LeSVecI32x4 = lib.BinaryenLeSVecI32x4
    LeSVecI64x2 = lib.BinaryenLeSVecI64x2
    LeSVecI8x16 = lib.BinaryenLeSVecI8x16
    LeUInt32 = lib.BinaryenLeUInt32
    LeUInt64 = lib.BinaryenLeUInt64
    LeUVecI16x8 = lib.BinaryenLeUVecI16x8
    LeUVecI32x4 = lib.BinaryenLeUVecI32x4
    LeUVecI8x16 = lib.BinaryenLeUVecI8x16
    LeVecF32x4 = lib.BinaryenLeVecF32x4
    LeVecF64x2 = lib.BinaryenLeVecF64x2
    LiteralFloat32 = lib.BinaryenLiteralFloat32
    LiteralFloat32Bits = lib.BinaryenLiteralFloat32Bits
    LiteralFloat64 = lib.BinaryenLiteralFloat64
    LiteralFloat64Bits = lib.BinaryenLiteralFloat64Bits
    LiteralInt32 = lib.BinaryenLiteralInt32
    LiteralInt64 = lib.BinaryenLiteralInt64
    LiteralVec128 = lib.BinaryenLiteralVec128
    Load = lib.BinaryenLoad
    Load16LaneVec128 = lib.BinaryenLoad16LaneVec128
    Load16SplatVec128 = lib.BinaryenLoad16SplatVec128
    Load16x4SVec128 = lib.BinaryenLoad16x4SVec128
    Load16x4UVec128 = lib.BinaryenLoad16x4UVec128
    Load32LaneVec128 = lib.BinaryenLoad32LaneVec128
    Load32SplatVec128 = lib.BinaryenLoad32SplatVec128
    Load32ZeroVec128 = lib.BinaryenLoad32ZeroVec128
    Load32x2SVec128 = lib.BinaryenLoad32x2SVec128
    Load32x2UVec128 = lib.BinaryenLoad32x2UVec128
    Load64LaneVec128 = lib.BinaryenLoad64LaneVec128
    Load64SplatVec128 = lib.BinaryenLoad64SplatVec128
    Load64ZeroVec128 = lib.BinaryenLoad64ZeroVec128
    Load8LaneVec128 = lib.BinaryenLoad8LaneVec128
    Load8SplatVec128 = lib.BinaryenLoad8SplatVec128
    Load8x8SVec128 = lib.BinaryenLoad8x8SVec128
    Load8x8UVec128 = lib.BinaryenLoad8x8UVec128
    LoadGetAlign = lib.BinaryenLoadGetAlign
    LoadGetBytes = lib.BinaryenLoadGetBytes
    LoadGetOffset = lib.BinaryenLoadGetOffset
    LoadGetPtr = lib.BinaryenLoadGetPtr
    LoadId = lib.BinaryenLoadId
    LoadIsAtomic = lib.BinaryenLoadIsAtomic
    LoadIsSigned = lib.BinaryenLoadIsSigned
    LoadSetAlign = lib.BinaryenLoadSetAlign
    LoadSetAtomic = lib.BinaryenLoadSetAtomic
    LoadSetBytes = lib.BinaryenLoadSetBytes
    LoadSetOffset = lib.BinaryenLoadSetOffset
    LoadSetPtr = lib.BinaryenLoadSetPtr
    LoadSetSigned = lib.BinaryenLoadSetSigned
    LocalGet = lib.BinaryenLocalGet
    LocalGetGetIndex = lib.BinaryenLocalGetGetIndex
    LocalGetId = lib.BinaryenLocalGetId
    LocalGetSetIndex = lib.BinaryenLocalGetSetIndex
    LocalSet = lib.BinaryenLocalSet
    LocalSetGetIndex = lib.BinaryenLocalSetGetIndex
    LocalSetGetValue = lib.BinaryenLocalSetGetValue
    LocalSetId = lib.BinaryenLocalSetId
    LocalSetIsTee = lib.BinaryenLocalSetIsTee
    LocalSetSetIndex = lib.BinaryenLocalSetSetIndex
    LocalSetSetValue = lib.BinaryenLocalSetSetValue
    LocalTee = lib.BinaryenLocalTee
    Loop = lib.BinaryenLoop
    LoopGetBody = lib.BinaryenLoopGetBody
    LoopGetName = lib.BinaryenLoopGetName
    LoopId = lib.BinaryenLoopId
    LoopSetBody = lib.BinaryenLoopSetBody
    LoopSetName = lib.BinaryenLoopSetName
    LtFloat32 = lib.BinaryenLtFloat32
    LtFloat64 = lib.BinaryenLtFloat64
    LtSInt32 = lib.BinaryenLtSInt32
    LtSInt64 = lib.BinaryenLtSInt64
    LtSVecI16x8 = lib.BinaryenLtSVecI16x8
    LtSVecI32x4 = lib.BinaryenLtSVecI32x4
    LtSVecI64x2 = lib.BinaryenLtSVecI64x2
    LtSVecI8x16 = lib.BinaryenLtSVecI8x16
    LtUInt32 = lib.BinaryenLtUInt32
    LtUInt64 = lib.BinaryenLtUInt64
    LtUVecI16x8 = lib.BinaryenLtUVecI16x8
    LtUVecI32x4 = lib.BinaryenLtUVecI32x4
    LtUVecI8x16 = lib.BinaryenLtUVecI8x16
    LtVecF32x4 = lib.BinaryenLtVecF32x4
    LtVecF64x2 = lib.BinaryenLtVecF64x2
    MaxFloat32 = lib.BinaryenMaxFloat32
    MaxFloat64 = lib.BinaryenMaxFloat64
    MaxSVecI16x8 = lib.BinaryenMaxSVecI16x8
    MaxSVecI32x4 = lib.BinaryenMaxSVecI32x4
    MaxSVecI8x16 = lib.BinaryenMaxSVecI8x16
    MaxUVecI16x8 = lib.BinaryenMaxUVecI16x8
    MaxUVecI32x4 = lib.BinaryenMaxUVecI32x4
    MaxUVecI8x16 = lib.BinaryenMaxUVecI8x16
    MaxVecF32x4 = lib.BinaryenMaxVecF32x4
    MaxVecF64x2 = lib.BinaryenMaxVecF64x2
    MemoryCopy = lib.BinaryenMemoryCopy
    MemoryCopyGetDest = lib.BinaryenMemoryCopyGetDest
    MemoryCopyGetSize = lib.BinaryenMemoryCopyGetSize
    MemoryCopyGetSource = lib.BinaryenMemoryCopyGetSource
    MemoryCopyId = lib.BinaryenMemoryCopyId
    MemoryCopySetDest = lib.BinaryenMemoryCopySetDest
    MemoryCopySetSize = lib.BinaryenMemoryCopySetSize
    MemoryCopySetSource = lib.BinaryenMemoryCopySetSource
    MemoryFill = lib.BinaryenMemoryFill
    MemoryFillGetDest = lib.BinaryenMemoryFillGetDest
    MemoryFillGetSize = lib.BinaryenMemoryFillGetSize
    MemoryFillGetValue = lib.BinaryenMemoryFillGetValue
    MemoryFillId = lib.BinaryenMemoryFillId
    MemoryFillSetDest = lib.BinaryenMemoryFillSetDest
    MemoryFillSetSize = lib.BinaryenMemoryFillSetSize
    MemoryFillSetValue = lib.BinaryenMemoryFillSetValue
    MemoryGetInitial = lib.BinaryenMemoryGetInitial
    MemoryGetMax = lib.BinaryenMemoryGetMax
    MemoryGrow = lib.BinaryenMemoryGrow
    MemoryGrowGetDelta = lib.BinaryenMemoryGrowGetDelta
    MemoryGrowId = lib.BinaryenMemoryGrowId
    MemoryGrowSetDelta = lib.BinaryenMemoryGrowSetDelta
    MemoryHasMax = lib.BinaryenMemoryHasMax
    MemoryImportGetBase = lib.BinaryenMemoryImportGetBase
    MemoryImportGetModule = lib.BinaryenMemoryImportGetModule
    MemoryInit = lib.BinaryenMemoryInit
    MemoryInitGetDest = lib.BinaryenMemoryInitGetDest
    MemoryInitGetOffset = lib.BinaryenMemoryInitGetOffset
    MemoryInitGetSegment = lib.BinaryenMemoryInitGetSegment
    MemoryInitGetSize = lib.BinaryenMemoryInitGetSize
    MemoryInitId = lib.BinaryenMemoryInitId
    MemoryInitSetDest = lib.BinaryenMemoryInitSetDest
    MemoryInitSetOffset = lib.BinaryenMemoryInitSetOffset
    MemoryInitSetSegment = lib.BinaryenMemoryInitSetSegment
    MemoryInitSetSize = lib.BinaryenMemoryInitSetSize
    MemoryIs64 = lib.BinaryenMemoryIs64
    MemoryIsShared = lib.BinaryenMemoryIsShared
    MemorySize = lib.BinaryenMemorySize
    MemorySizeId = lib.BinaryenMemorySizeId
    MinFloat32 = lib.BinaryenMinFloat32
    MinFloat64 = lib.BinaryenMinFloat64
    MinSVecI16x8 = lib.BinaryenMinSVecI16x8
    MinSVecI32x4 = lib.BinaryenMinSVecI32x4
    MinSVecI8x16 = lib.BinaryenMinSVecI8x16
    MinUVecI16x8 = lib.BinaryenMinUVecI16x8
    MinUVecI32x4 = lib.BinaryenMinUVecI32x4
    MinUVecI8x16 = lib.BinaryenMinUVecI8x16
    MinVecF32x4 = lib.BinaryenMinVecF32x4
    MinVecF64x2 = lib.BinaryenMinVecF64x2
    ModuleAddDebugInfoFileName = lib.BinaryenModuleAddDebugInfoFileName
    ModuleAllocateAndWrite = lib.BinaryenModuleAllocateAndWrite
    ModuleAllocateAndWriteStackIR = lib.BinaryenModuleAllocateAndWriteStackIR
    ModuleAllocateAndWriteText = lib.BinaryenModuleAllocateAndWriteText
    ModuleAutoDrop = lib.BinaryenModuleAutoDrop
    ModuleCreate = lib.BinaryenModuleCreate
    ModuleDispose = lib.BinaryenModuleDispose
    ModuleGetDebugInfoFileName = lib.BinaryenModuleGetDebugInfoFileName
    ModuleGetFeatures = lib.BinaryenModuleGetFeatures
    ModuleInterpret = lib.BinaryenModuleInterpret
    ModuleOptimize = lib.BinaryenModuleOptimize
    ModuleParse = lib.BinaryenModuleParse
    ModulePrint = lib.BinaryenModulePrint
    ModulePrintAsmjs = lib.BinaryenModulePrintAsmjs
    ModulePrintStackIR = lib.BinaryenModulePrintStackIR
    ModuleRead = lib.BinaryenModuleRead
    ModuleRunPasses = lib.BinaryenModuleRunPasses
    ModuleSetFeatures = lib.BinaryenModuleSetFeatures
    ModuleSetFieldName = lib.BinaryenModuleSetFieldName
    ModuleSetTypeName = lib.BinaryenModuleSetTypeName
    ModuleUpdateMaps = lib.BinaryenModuleUpdateMaps
    ModuleValidate = lib.BinaryenModuleValidate
    ModuleWrite = lib.BinaryenModuleWrite
    ModuleWriteStackIR = lib.BinaryenModuleWriteStackIR
    ModuleWriteText = lib.BinaryenModuleWriteText
    ModuleWriteWithSourceMap = lib.BinaryenModuleWriteWithSourceMap
    MulFloat32 = lib.BinaryenMulFloat32
    MulFloat64 = lib.BinaryenMulFloat64
    MulInt32 = lib.BinaryenMulInt32
    MulInt64 = lib.BinaryenMulInt64
    MulVecF32x4 = lib.BinaryenMulVecF32x4
    MulVecF64x2 = lib.BinaryenMulVecF64x2
    MulVecI16x8 = lib.BinaryenMulVecI16x8
    MulVecI32x4 = lib.BinaryenMulVecI32x4
    MulVecI64x2 = lib.BinaryenMulVecI64x2
    NarrowSVecI16x8ToVecI8x16 = lib.BinaryenNarrowSVecI16x8ToVecI8x16
    NarrowSVecI32x4ToVecI16x8 = lib.BinaryenNarrowSVecI32x4ToVecI16x8
    NarrowUVecI16x8ToVecI8x16 = lib.BinaryenNarrowUVecI16x8ToVecI8x16
    NarrowUVecI32x4ToVecI16x8 = lib.BinaryenNarrowUVecI32x4ToVecI16x8
    NeFloat32 = lib.BinaryenNeFloat32
    NeFloat64 = lib.BinaryenNeFloat64
    NeInt32 = lib.BinaryenNeInt32
    NeInt64 = lib.BinaryenNeInt64
    NeVecF32x4 = lib.BinaryenNeVecF32x4
    NeVecF64x2 = lib.BinaryenNeVecF64x2
    NeVecI16x8 = lib.BinaryenNeVecI16x8
    NeVecI32x4 = lib.BinaryenNeVecI32x4
    NeVecI64x2 = lib.BinaryenNeVecI64x2
    NeVecI8x16 = lib.BinaryenNeVecI8x16
    NearestFloat32 = lib.BinaryenNearestFloat32
    NearestFloat64 = lib.BinaryenNearestFloat64
    NearestVecF32x4 = lib.BinaryenNearestVecF32x4
    NearestVecF64x2 = lib.BinaryenNearestVecF64x2
    NegFloat32 = lib.BinaryenNegFloat32
    NegFloat64 = lib.BinaryenNegFloat64
    NegVecF32x4 = lib.BinaryenNegVecF32x4
    NegVecF64x2 = lib.BinaryenNegVecF64x2
    NegVecI16x8 = lib.BinaryenNegVecI16x8
    NegVecI32x4 = lib.BinaryenNegVecI32x4
    NegVecI64x2 = lib.BinaryenNegVecI64x2
    NegVecI8x16 = lib.BinaryenNegVecI8x16
    Nop = lib.BinaryenNop
    NopId = lib.BinaryenNopId
    NotVec128 = lib.BinaryenNotVec128
    OrInt32 = lib.BinaryenOrInt32
    OrInt64 = lib.BinaryenOrInt64
    OrVec128 = lib.BinaryenOrVec128
    PMaxVecF32x4 = lib.BinaryenPMaxVecF32x4
    PMaxVecF64x2 = lib.BinaryenPMaxVecF64x2
    PMinVecF32x4 = lib.BinaryenPMinVecF32x4
    PMinVecF64x2 = lib.BinaryenPMinVecF64x2
    PackedTypeInt16 = lib.BinaryenPackedTypeInt16
    PackedTypeInt8 = lib.BinaryenPackedTypeInt8
    PackedTypeNotPacked = lib.BinaryenPackedTypeNotPacked
    Pop = lib.BinaryenPop
    PopId = lib.BinaryenPopId
    PopcntInt32 = lib.BinaryenPopcntInt32
    PopcntInt64 = lib.BinaryenPopcntInt64
    PopcntVecI8x16 = lib.BinaryenPopcntVecI8x16
    PromoteFloat32 = lib.BinaryenPromoteFloat32
    PromoteLowVecF32x4ToVecF64x2 = lib.BinaryenPromoteLowVecF32x4ToVecF64x2
    Q15MulrSatSVecI16x8 = lib.BinaryenQ15MulrSatSVecI16x8
    RefAs = lib.BinaryenRefAs
    RefAsExternExternalize = lib.BinaryenRefAsExternExternalize
    RefAsExternInternalize = lib.BinaryenRefAsExternInternalize
    RefAsGetOp = lib.BinaryenRefAsGetOp
    RefAsGetValue = lib.BinaryenRefAsGetValue
    RefAsId = lib.BinaryenRefAsId
    RefAsNonNull = lib.BinaryenRefAsNonNull
    RefAsSetOp = lib.BinaryenRefAsSetOp
    RefAsSetValue = lib.BinaryenRefAsSetValue
    RefCast = lib.BinaryenRefCast
    RefCastGetRef = lib.BinaryenRefCastGetRef
    RefCastId = lib.BinaryenRefCastId
    RefCastSetRef = lib.BinaryenRefCastSetRef
    RefEq = lib.BinaryenRefEq
    RefEqGetLeft = lib.BinaryenRefEqGetLeft
    RefEqGetRight = lib.BinaryenRefEqGetRight
    RefEqId = lib.BinaryenRefEqId
    RefEqSetLeft = lib.BinaryenRefEqSetLeft
    RefEqSetRight = lib.BinaryenRefEqSetRight
    RefFunc = lib.BinaryenRefFunc
    RefFuncGetFunc = lib.BinaryenRefFuncGetFunc
    RefFuncId = lib.BinaryenRefFuncId
    RefFuncSetFunc = lib.BinaryenRefFuncSetFunc
    RefI31 = lib.BinaryenRefI31
    RefI31GetValue = lib.BinaryenRefI31GetValue
    RefI31Id = lib.BinaryenRefI31Id
    RefI31SetValue = lib.BinaryenRefI31SetValue
    RefIsNull = lib.BinaryenRefIsNull
    RefIsNullGetValue = lib.BinaryenRefIsNullGetValue
    RefIsNullId = lib.BinaryenRefIsNullId
    RefIsNullSetValue = lib.BinaryenRefIsNullSetValue
    RefNull = lib.BinaryenRefNull
    RefNullId = lib.BinaryenRefNullId
    RefTest = lib.BinaryenRefTest
    RefTestGetCastType = lib.BinaryenRefTestGetCastType
    RefTestGetRef = lib.BinaryenRefTestGetRef
    RefTestId = lib.BinaryenRefTestId
    RefTestSetCastType = lib.BinaryenRefTestSetCastType
    RefTestSetRef = lib.BinaryenRefTestSetRef
    ReinterpretFloat32 = lib.BinaryenReinterpretFloat32
    ReinterpretFloat64 = lib.BinaryenReinterpretFloat64
    ReinterpretInt32 = lib.BinaryenReinterpretInt32
    ReinterpretInt64 = lib.BinaryenReinterpretInt64
    RelaxedFmaVecF32x4 = lib.BinaryenRelaxedFmaVecF32x4
    RelaxedFmaVecF64x2 = lib.BinaryenRelaxedFmaVecF64x2
    RelaxedFmsVecF32x4 = lib.BinaryenRelaxedFmsVecF32x4
    RelaxedFmsVecF64x2 = lib.BinaryenRelaxedFmsVecF64x2
    RelaxedMaxVecF32x4 = lib.BinaryenRelaxedMaxVecF32x4
    RelaxedMaxVecF64x2 = lib.BinaryenRelaxedMaxVecF64x2
    RelaxedMinVecF32x4 = lib.BinaryenRelaxedMinVecF32x4
    RelaxedMinVecF64x2 = lib.BinaryenRelaxedMinVecF64x2
    RelaxedQ15MulrSVecI16x8 = lib.BinaryenRelaxedQ15MulrSVecI16x8
    RelaxedSwizzleVecI8x16 = lib.BinaryenRelaxedSwizzleVecI8x16
    RelaxedTruncSVecF32x4ToVecI32x4 = lib.BinaryenRelaxedTruncSVecF32x4ToVecI32x4
    RelaxedTruncUVecF32x4ToVecI32x4 = lib.BinaryenRelaxedTruncUVecF32x4ToVecI32x4
    RelaxedTruncZeroSVecF64x2ToVecI32x4 = lib.BinaryenRelaxedTruncZeroSVecF64x2ToVecI32x4
    RelaxedTruncZeroUVecF64x2ToVecI32x4 = lib.BinaryenRelaxedTruncZeroUVecF64x2ToVecI32x4
    RemSInt32 = lib.BinaryenRemSInt32
    RemSInt64 = lib.BinaryenRemSInt64
    RemUInt32 = lib.BinaryenRemUInt32
    RemUInt64 = lib.BinaryenRemUInt64
    RemoveElementSegment = lib.BinaryenRemoveElementSegment
    RemoveExport = lib.BinaryenRemoveExport
    RemoveFunction = lib.BinaryenRemoveFunction
    RemoveGlobal = lib.BinaryenRemoveGlobal
    RemoveTable = lib.BinaryenRemoveTable
    RemoveTag = lib.BinaryenRemoveTag
    ReplaceLaneVecF32x4 = lib.BinaryenReplaceLaneVecF32x4
    ReplaceLaneVecF64x2 = lib.BinaryenReplaceLaneVecF64x2
    ReplaceLaneVecI16x8 = lib.BinaryenReplaceLaneVecI16x8
    ReplaceLaneVecI32x4 = lib.BinaryenReplaceLaneVecI32x4
    ReplaceLaneVecI64x2 = lib.BinaryenReplaceLaneVecI64x2
    ReplaceLaneVecI8x16 = lib.BinaryenReplaceLaneVecI8x16
    Rethrow = lib.BinaryenRethrow
    RethrowGetTarget = lib.BinaryenRethrowGetTarget
    RethrowId = lib.BinaryenRethrowId
    RethrowSetTarget = lib.BinaryenRethrowSetTarget
    Return = lib.BinaryenReturn
    ReturnCall = lib.BinaryenReturnCall
    ReturnCallIndirect = lib.BinaryenReturnCallIndirect
    ReturnGetValue = lib.BinaryenReturnGetValue
    ReturnId = lib.BinaryenReturnId
    ReturnSetValue = lib.BinaryenReturnSetValue
    RotLInt32 = lib.BinaryenRotLInt32
    RotLInt64 = lib.BinaryenRotLInt64
    RotRInt32 = lib.BinaryenRotRInt32
    RotRInt64 = lib.BinaryenRotRInt64
    SIMDExtract = lib.BinaryenSIMDExtract
    SIMDExtractGetIndex = lib.BinaryenSIMDExtractGetIndex
    SIMDExtractGetOp = lib.BinaryenSIMDExtractGetOp
    SIMDExtractGetVec = lib.BinaryenSIMDExtractGetVec
    SIMDExtractId = lib.BinaryenSIMDExtractId
    SIMDExtractSetIndex = lib.BinaryenSIMDExtractSetIndex
    SIMDExtractSetOp = lib.BinaryenSIMDExtractSetOp
    SIMDExtractSetVec = lib.BinaryenSIMDExtractSetVec
    SIMDLoad = lib.BinaryenSIMDLoad
    SIMDLoadGetAlign = lib.BinaryenSIMDLoadGetAlign
    SIMDLoadGetOffset = lib.BinaryenSIMDLoadGetOffset
    SIMDLoadGetOp = lib.BinaryenSIMDLoadGetOp
    SIMDLoadGetPtr = lib.BinaryenSIMDLoadGetPtr
    SIMDLoadId = lib.BinaryenSIMDLoadId
    SIMDLoadSetAlign = lib.BinaryenSIMDLoadSetAlign
    SIMDLoadSetOffset = lib.BinaryenSIMDLoadSetOffset
    SIMDLoadSetOp = lib.BinaryenSIMDLoadSetOp
    SIMDLoadSetPtr = lib.BinaryenSIMDLoadSetPtr
    SIMDLoadStoreLane = lib.BinaryenSIMDLoadStoreLane
    SIMDLoadStoreLaneGetAlign = lib.BinaryenSIMDLoadStoreLaneGetAlign
    SIMDLoadStoreLaneGetIndex = lib.BinaryenSIMDLoadStoreLaneGetIndex
    SIMDLoadStoreLaneGetOffset = lib.BinaryenSIMDLoadStoreLaneGetOffset
    SIMDLoadStoreLaneGetOp = lib.BinaryenSIMDLoadStoreLaneGetOp
    SIMDLoadStoreLaneGetPtr = lib.BinaryenSIMDLoadStoreLaneGetPtr
    SIMDLoadStoreLaneGetVec = lib.BinaryenSIMDLoadStoreLaneGetVec
    SIMDLoadStoreLaneId = lib.BinaryenSIMDLoadStoreLaneId
    SIMDLoadStoreLaneIsStore = lib.BinaryenSIMDLoadStoreLaneIsStore
    SIMDLoadStoreLaneSetAlign = lib.BinaryenSIMDLoadStoreLaneSetAlign
    SIMDLoadStoreLaneSetIndex = lib.BinaryenSIMDLoadStoreLaneSetIndex
    SIMDLoadStoreLaneSetOffset = lib.BinaryenSIMDLoadStoreLaneSetOffset
    SIMDLoadStoreLaneSetOp = lib.BinaryenSIMDLoadStoreLaneSetOp
    SIMDLoadStoreLaneSetPtr = lib.BinaryenSIMDLoadStoreLaneSetPtr
    SIMDLoadStoreLaneSetVec = lib.BinaryenSIMDLoadStoreLaneSetVec
    SIMDReplace = lib.BinaryenSIMDReplace
    SIMDReplaceGetIndex = lib.BinaryenSIMDReplaceGetIndex
    SIMDReplaceGetOp = lib.BinaryenSIMDReplaceGetOp
    SIMDReplaceGetValue = lib.BinaryenSIMDReplaceGetValue
    SIMDReplaceGetVec = lib.BinaryenSIMDReplaceGetVec
    SIMDReplaceId = lib.BinaryenSIMDReplaceId
    SIMDReplaceSetIndex = lib.BinaryenSIMDReplaceSetIndex
    SIMDReplaceSetOp = lib.BinaryenSIMDReplaceSetOp
    SIMDReplaceSetValue = lib.BinaryenSIMDReplaceSetValue
    SIMDReplaceSetVec = lib.BinaryenSIMDReplaceSetVec
    SIMDShift = lib.BinaryenSIMDShift
    SIMDShiftGetOp = lib.BinaryenSIMDShiftGetOp
    SIMDShiftGetShift = lib.BinaryenSIMDShiftGetShift
    SIMDShiftGetVec = lib.BinaryenSIMDShiftGetVec
    SIMDShiftId = lib.BinaryenSIMDShiftId
    SIMDShiftSetOp = lib.BinaryenSIMDShiftSetOp
    SIMDShiftSetShift = lib.BinaryenSIMDShiftSetShift
    SIMDShiftSetVec = lib.BinaryenSIMDShiftSetVec
    SIMDShuffle = lib.BinaryenSIMDShuffle
    SIMDShuffleGetLeft = lib.BinaryenSIMDShuffleGetLeft
    SIMDShuffleGetMask = lib.BinaryenSIMDShuffleGetMask
    SIMDShuffleGetRight = lib.BinaryenSIMDShuffleGetRight
    SIMDShuffleId = lib.BinaryenSIMDShuffleId
    SIMDShuffleSetLeft = lib.BinaryenSIMDShuffleSetLeft
    SIMDShuffleSetMask = lib.BinaryenSIMDShuffleSetMask
    SIMDShuffleSetRight = lib.BinaryenSIMDShuffleSetRight
    SIMDTernary = lib.BinaryenSIMDTernary
    SIMDTernaryGetA = lib.BinaryenSIMDTernaryGetA
    SIMDTernaryGetB = lib.BinaryenSIMDTernaryGetB
    SIMDTernaryGetC = lib.BinaryenSIMDTernaryGetC
    SIMDTernaryGetOp = lib.BinaryenSIMDTernaryGetOp
    SIMDTernaryId = lib.BinaryenSIMDTernaryId
    SIMDTernarySetA = lib.BinaryenSIMDTernarySetA
    SIMDTernarySetB = lib.BinaryenSIMDTernarySetB
    SIMDTernarySetC = lib.BinaryenSIMDTernarySetC
    SIMDTernarySetOp = lib.BinaryenSIMDTernarySetOp
    Select = lib.BinaryenSelect
    SelectGetCondition = lib.BinaryenSelectGetCondition
    SelectGetIfFalse = lib.BinaryenSelectGetIfFalse
    SelectGetIfTrue = lib.BinaryenSelectGetIfTrue
    SelectId = lib.BinaryenSelectId
    SelectSetCondition = lib.BinaryenSelectSetCondition
    SelectSetIfFalse = lib.BinaryenSelectSetIfFalse
    SelectSetIfTrue = lib.BinaryenSelectSetIfTrue
    SetAllowInliningFunctionsWithLoops = lib.BinaryenSetAllowInliningFunctionsWithLoops
    SetAlwaysInlineMaxSize = lib.BinaryenSetAlwaysInlineMaxSize
    SetColorsEnabled = lib.BinaryenSetColorsEnabled
    SetDebugInfo = lib.BinaryenSetDebugInfo
    SetFastMath = lib.BinaryenSetFastMath
    SetFlexibleInlineMaxSize = lib.BinaryenSetFlexibleInlineMaxSize
    SetLowMemoryUnused = lib.BinaryenSetLowMemoryUnused
    SetMemory = lib.BinaryenSetMemory
    SetOneCallerInlineMaxSize = lib.BinaryenSetOneCallerInlineMaxSize
    SetOptimizeLevel = lib.BinaryenSetOptimizeLevel
    SetPassArgument = lib.BinaryenSetPassArgument
    SetShrinkLevel = lib.BinaryenSetShrinkLevel
    SetStart = lib.BinaryenSetStart
    SetZeroFilledMemory = lib.BinaryenSetZeroFilledMemory
    ShlInt32 = lib.BinaryenShlInt32
    ShlInt64 = lib.BinaryenShlInt64
    ShlVecI16x8 = lib.BinaryenShlVecI16x8
    ShlVecI32x4 = lib.BinaryenShlVecI32x4
    ShlVecI64x2 = lib.BinaryenShlVecI64x2
    ShlVecI8x16 = lib.BinaryenShlVecI8x16
    ShrSInt32 = lib.BinaryenShrSInt32
    ShrSInt64 = lib.BinaryenShrSInt64
    ShrSVecI16x8 = lib.BinaryenShrSVecI16x8
    ShrSVecI32x4 = lib.BinaryenShrSVecI32x4
    ShrSVecI64x2 = lib.BinaryenShrSVecI64x2
    ShrSVecI8x16 = lib.BinaryenShrSVecI8x16
    ShrUInt32 = lib.BinaryenShrUInt32
    ShrUInt64 = lib.BinaryenShrUInt64
    ShrUVecI16x8 = lib.BinaryenShrUVecI16x8
    ShrUVecI32x4 = lib.BinaryenShrUVecI32x4
    ShrUVecI64x2 = lib.BinaryenShrUVecI64x2
    ShrUVecI8x16 = lib.BinaryenShrUVecI8x16
    SideEffectAny = lib.BinaryenSideEffectAny
    SideEffectBranches = lib.BinaryenSideEffectBranches
    SideEffectCalls = lib.BinaryenSideEffectCalls
    SideEffectDanglingPop = lib.BinaryenSideEffectDanglingPop
    SideEffectImplicitTrap = lib.BinaryenSideEffectImplicitTrap
    SideEffectIsAtomic = lib.BinaryenSideEffectIsAtomic
    SideEffectNone = lib.BinaryenSideEffectNone
    SideEffectReadsGlobal = lib.BinaryenSideEffectReadsGlobal
    SideEffectReadsLocal = lib.BinaryenSideEffectReadsLocal
    SideEffectReadsMemory = lib.BinaryenSideEffectReadsMemory
    SideEffectReadsTable = lib.BinaryenSideEffectReadsTable
    SideEffectThrows = lib.BinaryenSideEffectThrows
    SideEffectTrapsNeverHappen = lib.BinaryenSideEffectTrapsNeverHappen
    SideEffectWritesGlobal = lib.BinaryenSideEffectWritesGlobal
    SideEffectWritesLocal = lib.BinaryenSideEffectWritesLocal
    SideEffectWritesMemory = lib.BinaryenSideEffectWritesMemory
    SideEffectWritesTable = lib.BinaryenSideEffectWritesTable
    SignatureTypeGetParams = lib.BinaryenSignatureTypeGetParams
    SignatureTypeGetResults = lib.BinaryenSignatureTypeGetResults
    SplatVecF32x4 = lib.BinaryenSplatVecF32x4
    SplatVecF64x2 = lib.BinaryenSplatVecF64x2
    SplatVecI16x8 = lib.BinaryenSplatVecI16x8
    SplatVecI32x4 = lib.BinaryenSplatVecI32x4
    SplatVecI64x2 = lib.BinaryenSplatVecI64x2
    SplatVecI8x16 = lib.BinaryenSplatVecI8x16
    SqrtFloat32 = lib.BinaryenSqrtFloat32
    SqrtFloat64 = lib.BinaryenSqrtFloat64
    SqrtVecF32x4 = lib.BinaryenSqrtVecF32x4
    SqrtVecF64x2 = lib.BinaryenSqrtVecF64x2
    Store = lib.BinaryenStore
    Store16LaneVec128 = lib.BinaryenStore16LaneVec128
    Store32LaneVec128 = lib.BinaryenStore32LaneVec128
    Store64LaneVec128 = lib.BinaryenStore64LaneVec128
    Store8LaneVec128 = lib.BinaryenStore8LaneVec128
    StoreGetAlign = lib.BinaryenStoreGetAlign
    StoreGetBytes = lib.BinaryenStoreGetBytes
    StoreGetOffset = lib.BinaryenStoreGetOffset
    StoreGetPtr = lib.BinaryenStoreGetPtr
    StoreGetValue = lib.BinaryenStoreGetValue
    StoreGetValueType = lib.BinaryenStoreGetValueType
    StoreId = lib.BinaryenStoreId
    StoreIsAtomic = lib.BinaryenStoreIsAtomic
    StoreSetAlign = lib.BinaryenStoreSetAlign
    StoreSetAtomic = lib.BinaryenStoreSetAtomic
    StoreSetBytes = lib.BinaryenStoreSetBytes
    StoreSetOffset = lib.BinaryenStoreSetOffset
    StoreSetPtr = lib.BinaryenStoreSetPtr
    StoreSetValue = lib.BinaryenStoreSetValue
    StoreSetValueType = lib.BinaryenStoreSetValueType
    StringAs = lib.BinaryenStringAs
    StringAsGetOp = lib.BinaryenStringAsGetOp
    StringAsGetRef = lib.BinaryenStringAsGetRef
    StringAsId = lib.BinaryenStringAsId
    StringAsIter = lib.BinaryenStringAsIter
    StringAsSetOp = lib.BinaryenStringAsSetOp
    StringAsSetRef = lib.BinaryenStringAsSetRef
    StringAsWTF16 = lib.BinaryenStringAsWTF16
    StringAsWTF8 = lib.BinaryenStringAsWTF8
    StringConcat = lib.BinaryenStringConcat
    StringConcatGetLeft = lib.BinaryenStringConcatGetLeft
    StringConcatGetRight = lib.BinaryenStringConcatGetRight
    StringConcatId = lib.BinaryenStringConcatId
    StringConcatSetLeft = lib.BinaryenStringConcatSetLeft
    StringConcatSetRight = lib.BinaryenStringConcatSetRight
    StringConst = lib.BinaryenStringConst
    StringConstGetString = lib.BinaryenStringConstGetString
    StringConstId = lib.BinaryenStringConstId
    StringConstSetString = lib.BinaryenStringConstSetString
    StringEncode = lib.BinaryenStringEncode
    StringEncodeGetOp = lib.BinaryenStringEncodeGetOp
    StringEncodeGetPtr = lib.BinaryenStringEncodeGetPtr
    StringEncodeGetRef = lib.BinaryenStringEncodeGetRef
    StringEncodeGetStart = lib.BinaryenStringEncodeGetStart
    StringEncodeId = lib.BinaryenStringEncodeId
    StringEncodeLossyUTF8 = lib.BinaryenStringEncodeLossyUTF8
    StringEncodeLossyUTF8Array = lib.BinaryenStringEncodeLossyUTF8Array
    StringEncodeSetOp = lib.BinaryenStringEncodeSetOp
    StringEncodeSetPtr = lib.BinaryenStringEncodeSetPtr
    StringEncodeSetRef = lib.BinaryenStringEncodeSetRef
    StringEncodeSetStart = lib.BinaryenStringEncodeSetStart
    StringEncodeUTF8 = lib.BinaryenStringEncodeUTF8
    StringEncodeUTF8Array = lib.BinaryenStringEncodeUTF8Array
    StringEncodeWTF16 = lib.BinaryenStringEncodeWTF16
    StringEncodeWTF16Array = lib.BinaryenStringEncodeWTF16Array
    StringEncodeWTF8 = lib.BinaryenStringEncodeWTF8
    StringEncodeWTF8Array = lib.BinaryenStringEncodeWTF8Array
    StringEq = lib.BinaryenStringEq
    StringEqCompare = lib.BinaryenStringEqCompare
    StringEqEqual = lib.BinaryenStringEqEqual
    StringEqGetLeft = lib.BinaryenStringEqGetLeft
    StringEqGetOp = lib.BinaryenStringEqGetOp
    StringEqGetRight = lib.BinaryenStringEqGetRight
    StringEqId = lib.BinaryenStringEqId
    StringEqSetLeft = lib.BinaryenStringEqSetLeft
    StringEqSetOp = lib.BinaryenStringEqSetOp
    StringEqSetRight = lib.BinaryenStringEqSetRight
    StringIterMove = lib.BinaryenStringIterMove
    StringIterMoveAdvance = lib.BinaryenStringIterMoveAdvance
    StringIterMoveGetNum = lib.BinaryenStringIterMoveGetNum
    StringIterMoveGetOp = lib.BinaryenStringIterMoveGetOp
    StringIterMoveGetRef = lib.BinaryenStringIterMoveGetRef
    StringIterMoveId = lib.BinaryenStringIterMoveId
    StringIterMoveRewind = lib.BinaryenStringIterMoveRewind
    StringIterMoveSetNum = lib.BinaryenStringIterMoveSetNum
    StringIterMoveSetOp = lib.BinaryenStringIterMoveSetOp
    StringIterMoveSetRef = lib.BinaryenStringIterMoveSetRef
    StringIterNext = lib.BinaryenStringIterNext
    StringIterNextGetRef = lib.BinaryenStringIterNextGetRef
    StringIterNextId = lib.BinaryenStringIterNextId
    StringIterNextSetRef = lib.BinaryenStringIterNextSetRef
    StringMeasure = lib.BinaryenStringMeasure
    StringMeasureGetOp = lib.BinaryenStringMeasureGetOp
    StringMeasureGetRef = lib.BinaryenStringMeasureGetRef
    StringMeasureId = lib.BinaryenStringMeasureId
    StringMeasureIsUSV = lib.BinaryenStringMeasureIsUSV
    StringMeasureSetOp = lib.BinaryenStringMeasureSetOp
    StringMeasureSetRef = lib.BinaryenStringMeasureSetRef
    StringMeasureUTF8 = lib.BinaryenStringMeasureUTF8
    StringMeasureWTF16 = lib.BinaryenStringMeasureWTF16
    StringMeasureWTF16View = lib.BinaryenStringMeasureWTF16View
    StringMeasureWTF8 = lib.BinaryenStringMeasureWTF8
    StringNew = lib.BinaryenStringNew
    StringNewFromCodePoint = lib.BinaryenStringNewFromCodePoint
    StringNewGetEnd = lib.BinaryenStringNewGetEnd
    StringNewGetLength = lib.BinaryenStringNewGetLength
    StringNewGetOp = lib.BinaryenStringNewGetOp
    StringNewGetPtr = lib.BinaryenStringNewGetPtr
    StringNewGetStart = lib.BinaryenStringNewGetStart
    StringNewId = lib.BinaryenStringNewId
    StringNewIsTry = lib.BinaryenStringNewIsTry
    StringNewLossyUTF8 = lib.BinaryenStringNewLossyUTF8
    StringNewLossyUTF8Array = lib.BinaryenStringNewLossyUTF8Array
    StringNewSetEnd = lib.BinaryenStringNewSetEnd
    StringNewSetLength = lib.BinaryenStringNewSetLength
    StringNewSetOp = lib.BinaryenStringNewSetOp
    StringNewSetPtr = lib.BinaryenStringNewSetPtr
    StringNewSetStart = lib.BinaryenStringNewSetStart
    StringNewSetTry = lib.BinaryenStringNewSetTry
    StringNewUTF8 = lib.BinaryenStringNewUTF8
    StringNewUTF8Array = lib.BinaryenStringNewUTF8Array
    StringNewWTF16 = lib.BinaryenStringNewWTF16
    StringNewWTF16Array = lib.BinaryenStringNewWTF16Array
    StringNewWTF8 = lib.BinaryenStringNewWTF8
    StringNewWTF8Array = lib.BinaryenStringNewWTF8Array
    StringSliceIter = lib.BinaryenStringSliceIter
    StringSliceIterGetNum = lib.BinaryenStringSliceIterGetNum
    StringSliceIterGetRef = lib.BinaryenStringSliceIterGetRef
    StringSliceIterId = lib.BinaryenStringSliceIterId
    StringSliceIterSetNum = lib.BinaryenStringSliceIterSetNum
    StringSliceIterSetRef = lib.BinaryenStringSliceIterSetRef
    StringSliceWTF = lib.BinaryenStringSliceWTF
    StringSliceWTF16 = lib.BinaryenStringSliceWTF16
    StringSliceWTF8 = lib.BinaryenStringSliceWTF8
    StringSliceWTFGetEnd = lib.BinaryenStringSliceWTFGetEnd
    StringSliceWTFGetOp = lib.BinaryenStringSliceWTFGetOp
    StringSliceWTFGetRef = lib.BinaryenStringSliceWTFGetRef
    StringSliceWTFGetStart = lib.BinaryenStringSliceWTFGetStart
    StringSliceWTFId = lib.BinaryenStringSliceWTFId
    StringSliceWTFSetEnd = lib.BinaryenStringSliceWTFSetEnd
    StringSliceWTFSetOp = lib.BinaryenStringSliceWTFSetOp
    StringSliceWTFSetRef = lib.BinaryenStringSliceWTFSetRef
    StringSliceWTFSetStart = lib.BinaryenStringSliceWTFSetStart
    StringWTF16Get = lib.BinaryenStringWTF16Get
    StringWTF16GetGetPos = lib.BinaryenStringWTF16GetGetPos
    StringWTF16GetGetRef = lib.BinaryenStringWTF16GetGetRef
    StringWTF16GetId = lib.BinaryenStringWTF16GetId
    StringWTF16GetSetPos = lib.BinaryenStringWTF16GetSetPos
    StringWTF16GetSetRef = lib.BinaryenStringWTF16GetSetRef
    StringWTF8Advance = lib.BinaryenStringWTF8Advance
    StringWTF8AdvanceGetBytes = lib.BinaryenStringWTF8AdvanceGetBytes
    StringWTF8AdvanceGetPos = lib.BinaryenStringWTF8AdvanceGetPos
    StringWTF8AdvanceGetRef = lib.BinaryenStringWTF8AdvanceGetRef
    StringWTF8AdvanceId = lib.BinaryenStringWTF8AdvanceId
    StringWTF8AdvanceSetBytes = lib.BinaryenStringWTF8AdvanceSetBytes
    StringWTF8AdvanceSetPos = lib.BinaryenStringWTF8AdvanceSetPos
    StringWTF8AdvanceSetRef = lib.BinaryenStringWTF8AdvanceSetRef
    StructGet = lib.BinaryenStructGet
    StructGetGetIndex = lib.BinaryenStructGetGetIndex
    StructGetGetRef = lib.BinaryenStructGetGetRef
    StructGetId = lib.BinaryenStructGetId
    StructGetIsSigned = lib.BinaryenStructGetIsSigned
    StructGetSetIndex = lib.BinaryenStructGetSetIndex
    StructGetSetRef = lib.BinaryenStructGetSetRef
    StructGetSetSigned = lib.BinaryenStructGetSetSigned
    StructNew = lib.BinaryenStructNew
    StructNewAppendOperand = lib.BinaryenStructNewAppendOperand
    StructNewGetNumOperands = lib.BinaryenStructNewGetNumOperands
    StructNewGetOperandAt = lib.BinaryenStructNewGetOperandAt
    StructNewId = lib.BinaryenStructNewId
    StructNewInsertOperandAt = lib.BinaryenStructNewInsertOperandAt
    StructNewRemoveOperandAt = lib.BinaryenStructNewRemoveOperandAt
    StructNewSetOperandAt = lib.BinaryenStructNewSetOperandAt
    StructSet = lib.BinaryenStructSet
    StructSetGetIndex = lib.BinaryenStructSetGetIndex
    StructSetGetRef = lib.BinaryenStructSetGetRef
    StructSetGetValue = lib.BinaryenStructSetGetValue
    StructSetId = lib.BinaryenStructSetId
    StructSetSetIndex = lib.BinaryenStructSetSetIndex
    StructSetSetRef = lib.BinaryenStructSetSetRef
    StructSetSetValue = lib.BinaryenStructSetSetValue
    StructTypeGetFieldPackedType = lib.BinaryenStructTypeGetFieldPackedType
    StructTypeGetFieldType = lib.BinaryenStructTypeGetFieldType
    StructTypeGetNumFields = lib.BinaryenStructTypeGetNumFields
    StructTypeIsFieldMutable = lib.BinaryenStructTypeIsFieldMutable
    SubFloat32 = lib.BinaryenSubFloat32
    SubFloat64 = lib.BinaryenSubFloat64
    SubInt32 = lib.BinaryenSubInt32
    SubInt64 = lib.BinaryenSubInt64
    SubSatSVecI16x8 = lib.BinaryenSubSatSVecI16x8
    SubSatSVecI8x16 = lib.BinaryenSubSatSVecI8x16
    SubSatUVecI16x8 = lib.BinaryenSubSatUVecI16x8
    SubSatUVecI8x16 = lib.BinaryenSubSatUVecI8x16
    SubVecF32x4 = lib.BinaryenSubVecF32x4
    SubVecF64x2 = lib.BinaryenSubVecF64x2
    SubVecI16x8 = lib.BinaryenSubVecI16x8
    SubVecI32x4 = lib.BinaryenSubVecI32x4
    SubVecI64x2 = lib.BinaryenSubVecI64x2
    SubVecI8x16 = lib.BinaryenSubVecI8x16
    Switch = lib.BinaryenSwitch
    SwitchAppendName = lib.BinaryenSwitchAppendName
    SwitchGetCondition = lib.BinaryenSwitchGetCondition
    SwitchGetDefaultName = lib.BinaryenSwitchGetDefaultName
    SwitchGetNameAt = lib.BinaryenSwitchGetNameAt
    SwitchGetNumNames = lib.BinaryenSwitchGetNumNames
    SwitchGetValue = lib.BinaryenSwitchGetValue
    SwitchId = lib.BinaryenSwitchId
    SwitchInsertNameAt = lib.BinaryenSwitchInsertNameAt
    SwitchRemoveNameAt = lib.BinaryenSwitchRemoveNameAt
    SwitchSetCondition = lib.BinaryenSwitchSetCondition
    SwitchSetDefaultName = lib.BinaryenSwitchSetDefaultName
    SwitchSetNameAt = lib.BinaryenSwitchSetNameAt
    SwitchSetValue = lib.BinaryenSwitchSetValue
    SwizzleVecI8x16 = lib.BinaryenSwizzleVecI8x16
    TableGet = lib.BinaryenTableGet
    TableGetGetIndex = lib.BinaryenTableGetGetIndex
    TableGetGetTable = lib.BinaryenTableGetGetTable
    TableGetId = lib.BinaryenTableGetId
    TableGetInitial = lib.BinaryenTableGetInitial
    TableGetMax = lib.BinaryenTableGetMax
    TableGetName = lib.BinaryenTableGetName
    TableGetSetIndex = lib.BinaryenTableGetSetIndex
    TableGetSetTable = lib.BinaryenTableGetSetTable
    TableGrow = lib.BinaryenTableGrow
    TableGrowGetDelta = lib.BinaryenTableGrowGetDelta
    TableGrowGetTable = lib.BinaryenTableGrowGetTable
    TableGrowGetValue = lib.BinaryenTableGrowGetValue
    TableGrowId = lib.BinaryenTableGrowId
    TableGrowSetDelta = lib.BinaryenTableGrowSetDelta
    TableGrowSetTable = lib.BinaryenTableGrowSetTable
    TableGrowSetValue = lib.BinaryenTableGrowSetValue
    TableHasMax = lib.BinaryenTableHasMax
    TableImportGetBase = lib.BinaryenTableImportGetBase
    TableImportGetModule = lib.BinaryenTableImportGetModule
    TableSet = lib.BinaryenTableSet
    TableSetGetIndex = lib.BinaryenTableSetGetIndex
    TableSetGetTable = lib.BinaryenTableSetGetTable
    TableSetGetValue = lib.BinaryenTableSetGetValue
    TableSetId = lib.BinaryenTableSetId
    TableSetInitial = lib.BinaryenTableSetInitial
    TableSetMax = lib.BinaryenTableSetMax
    TableSetName = lib.BinaryenTableSetName
    TableSetSetIndex = lib.BinaryenTableSetSetIndex
    TableSetSetTable = lib.BinaryenTableSetSetTable
    TableSetSetValue = lib.BinaryenTableSetSetValue
    TableSize = lib.BinaryenTableSize
    TableSizeGetTable = lib.BinaryenTableSizeGetTable
    TableSizeId = lib.BinaryenTableSizeId
    TableSizeSetTable = lib.BinaryenTableSizeSetTable
    TagGetName = lib.BinaryenTagGetName
    TagGetParams = lib.BinaryenTagGetParams
    TagGetResults = lib.BinaryenTagGetResults
    TagImportGetBase = lib.BinaryenTagImportGetBase
    TagImportGetModule = lib.BinaryenTagImportGetModule
    Throw = lib.BinaryenThrow
    ThrowAppendOperand = lib.BinaryenThrowAppendOperand
    ThrowGetNumOperands = lib.BinaryenThrowGetNumOperands
    ThrowGetOperandAt = lib.BinaryenThrowGetOperandAt
    ThrowGetTag = lib.BinaryenThrowGetTag
    ThrowId = lib.BinaryenThrowId
    ThrowInsertOperandAt = lib.BinaryenThrowInsertOperandAt
    ThrowRemoveOperandAt = lib.BinaryenThrowRemoveOperandAt
    ThrowSetOperandAt = lib.BinaryenThrowSetOperandAt
    ThrowSetTag = lib.BinaryenThrowSetTag
    TruncFloat32 = lib.BinaryenTruncFloat32
    TruncFloat64 = lib.BinaryenTruncFloat64
    TruncSFloat32ToInt32 = lib.BinaryenTruncSFloat32ToInt32
    TruncSFloat32ToInt64 = lib.BinaryenTruncSFloat32ToInt64
    TruncSFloat64ToInt32 = lib.BinaryenTruncSFloat64ToInt32
    TruncSFloat64ToInt64 = lib.BinaryenTruncSFloat64ToInt64
    TruncSatSFloat32ToInt32 = lib.BinaryenTruncSatSFloat32ToInt32
    TruncSatSFloat32ToInt64 = lib.BinaryenTruncSatSFloat32ToInt64
    TruncSatSFloat64ToInt32 = lib.BinaryenTruncSatSFloat64ToInt32
    TruncSatSFloat64ToInt64 = lib.BinaryenTruncSatSFloat64ToInt64
    TruncSatSVecF32x4ToVecI32x4 = lib.BinaryenTruncSatSVecF32x4ToVecI32x4
    TruncSatUFloat32ToInt32 = lib.BinaryenTruncSatUFloat32ToInt32
    TruncSatUFloat32ToInt64 = lib.BinaryenTruncSatUFloat32ToInt64
    TruncSatUFloat64ToInt32 = lib.BinaryenTruncSatUFloat64ToInt32
    TruncSatUFloat64ToInt64 = lib.BinaryenTruncSatUFloat64ToInt64
    TruncSatUVecF32x4ToVecI32x4 = lib.BinaryenTruncSatUVecF32x4ToVecI32x4
    TruncSatZeroSVecF64x2ToVecI32x4 = lib.BinaryenTruncSatZeroSVecF64x2ToVecI32x4
    TruncSatZeroUVecF64x2ToVecI32x4 = lib.BinaryenTruncSatZeroUVecF64x2ToVecI32x4
    TruncUFloat32ToInt32 = lib.BinaryenTruncUFloat32ToInt32
    TruncUFloat32ToInt64 = lib.BinaryenTruncUFloat32ToInt64
    TruncUFloat64ToInt32 = lib.BinaryenTruncUFloat64ToInt32
    TruncUFloat64ToInt64 = lib.BinaryenTruncUFloat64ToInt64
    TruncVecF32x4 = lib.BinaryenTruncVecF32x4
    TruncVecF64x2 = lib.BinaryenTruncVecF64x2
    Try = lib.BinaryenTry
    TryAppendCatchBody = lib.BinaryenTryAppendCatchBody
    TryAppendCatchTag = lib.BinaryenTryAppendCatchTag
    TryGetBody = lib.BinaryenTryGetBody
    TryGetCatchBodyAt = lib.BinaryenTryGetCatchBodyAt
    TryGetCatchTagAt = lib.BinaryenTryGetCatchTagAt
    TryGetDelegateTarget = lib.BinaryenTryGetDelegateTarget
    TryGetName = lib.BinaryenTryGetName
    TryGetNumCatchBodies = lib.BinaryenTryGetNumCatchBodies
    TryGetNumCatchTags = lib.BinaryenTryGetNumCatchTags
    TryHasCatchAll = lib.BinaryenTryHasCatchAll
    TryId = lib.BinaryenTryId
    TryInsertCatchBodyAt = lib.BinaryenTryInsertCatchBodyAt
    TryInsertCatchTagAt = lib.BinaryenTryInsertCatchTagAt
    TryIsDelegate = lib.BinaryenTryIsDelegate
    TryRemoveCatchBodyAt = lib.BinaryenTryRemoveCatchBodyAt
    TryRemoveCatchTagAt = lib.BinaryenTryRemoveCatchTagAt
    TrySetBody = lib.BinaryenTrySetBody
    TrySetCatchBodyAt = lib.BinaryenTrySetCatchBodyAt
    TrySetCatchTagAt = lib.BinaryenTrySetCatchTagAt
    TrySetDelegateTarget = lib.BinaryenTrySetDelegateTarget
    TrySetName = lib.BinaryenTrySetName
    TupleExtract = lib.BinaryenTupleExtract
    TupleExtractGetIndex = lib.BinaryenTupleExtractGetIndex
    TupleExtractGetTuple = lib.BinaryenTupleExtractGetTuple
    TupleExtractId = lib.BinaryenTupleExtractId
    TupleExtractSetIndex = lib.BinaryenTupleExtractSetIndex
    TupleExtractSetTuple = lib.BinaryenTupleExtractSetTuple
    TupleMake = lib.BinaryenTupleMake
    TupleMakeAppendOperand = lib.BinaryenTupleMakeAppendOperand
    TupleMakeGetNumOperands = lib.BinaryenTupleMakeGetNumOperands
    TupleMakeGetOperandAt = lib.BinaryenTupleMakeGetOperandAt
    TupleMakeId = lib.BinaryenTupleMakeId
    TupleMakeInsertOperandAt = lib.BinaryenTupleMakeInsertOperandAt
    TupleMakeRemoveOperandAt = lib.BinaryenTupleMakeRemoveOperandAt
    TupleMakeSetOperandAt = lib.BinaryenTupleMakeSetOperandAt
    TypeAnyref = lib.BinaryenTypeAnyref
    TypeArity = lib.BinaryenTypeArity
    TypeArrayref = lib.BinaryenTypeArrayref
    TypeAuto = lib.BinaryenTypeAuto
    TypeCreate = lib.BinaryenTypeCreate
    TypeEqref = lib.BinaryenTypeEqref
    TypeExpand = lib.BinaryenTypeExpand
    TypeExternref = lib.BinaryenTypeExternref
    TypeFloat32 = lib.BinaryenTypeFloat32
    TypeFloat64 = lib.BinaryenTypeFloat64
    TypeFromHeapType = lib.BinaryenTypeFromHeapType
    TypeFuncref = lib.BinaryenTypeFuncref
    TypeGetHeapType = lib.BinaryenTypeGetHeapType
    TypeI31ref = lib.BinaryenTypeI31ref
    TypeInt32 = lib.BinaryenTypeInt32
    TypeInt64 = lib.BinaryenTypeInt64
    TypeIsNullable = lib.BinaryenTypeIsNullable
    TypeNone = lib.BinaryenTypeNone
    TypeNullExternref = lib.BinaryenTypeNullExternref
    TypeNullFuncref = lib.BinaryenTypeNullFuncref
    TypeNullref = lib.BinaryenTypeNullref
    TypeStringref = lib.BinaryenTypeStringref
    TypeStringviewIter = lib.BinaryenTypeStringviewIter
    TypeStringviewWTF16 = lib.BinaryenTypeStringviewWTF16
    TypeStringviewWTF8 = lib.BinaryenTypeStringviewWTF8
    TypeStructref = lib.BinaryenTypeStructref
    TypeUnreachable = lib.BinaryenTypeUnreachable
    TypeVec128 = lib.BinaryenTypeVec128
    Unary = lib.BinaryenUnary
    UnaryGetOp = lib.BinaryenUnaryGetOp
    UnaryGetValue = lib.BinaryenUnaryGetValue
    UnaryId = lib.BinaryenUnaryId
    UnarySetOp = lib.BinaryenUnarySetOp
    UnarySetValue = lib.BinaryenUnarySetValue
    Unreachable = lib.BinaryenUnreachable
    UnreachableId = lib.BinaryenUnreachableId
    WrapInt64 = lib.BinaryenWrapInt64
    XorInt32 = lib.BinaryenXorInt32
    XorInt64 = lib.BinaryenXorInt64
    XorVec128 = lib.BinaryenXorVec128
    ExpressionRunnerCreate = lib.ExpressionRunnerCreate
    ExpressionRunnerFlagsDefault = lib.ExpressionRunnerFlagsDefault
    ExpressionRunnerFlagsPreserveSideeffects = lib.ExpressionRunnerFlagsPreserveSideeffects
    ExpressionRunnerFlagsTraverseCalls = lib.ExpressionRunnerFlagsTraverseCalls
    ExpressionRunnerRunAndDispose = lib.ExpressionRunnerRunAndDispose
    ExpressionRunnerSetGlobalValue = lib.ExpressionRunnerSetGlobalValue
    ExpressionRunnerSetLocalValue = lib.ExpressionRunnerSetLocalValue
    RelooperAddBlock = lib.RelooperAddBlock
    RelooperAddBlockWithSwitch = lib.RelooperAddBlockWithSwitch
    RelooperAddBranch = lib.RelooperAddBranch
    RelooperAddBranchForSwitch = lib.RelooperAddBranchForSwitch
    RelooperCreate = lib.RelooperCreate
    RelooperRenderAndDispose = lib.RelooperRenderAndDispose
    TypeBuilderBuildAndDispose = lib.TypeBuilderBuildAndDispose
    TypeBuilderCreate = lib.TypeBuilderCreate
    TypeBuilderCreateRecGroup = lib.TypeBuilderCreateRecGroup
    TypeBuilderErrorReasonForwardChildReference = lib.TypeBuilderErrorReasonForwardChildReference
    TypeBuilderErrorReasonForwardSupertypeReference = lib.TypeBuilderErrorReasonForwardSupertypeReference
    TypeBuilderErrorReasonInvalidSupertype = lib.TypeBuilderErrorReasonInvalidSupertype
    TypeBuilderErrorReasonSelfSupertype = lib.TypeBuilderErrorReasonSelfSupertype
    TypeBuilderGetSize = lib.TypeBuilderGetSize
    TypeBuilderGetTempHeapType = lib.TypeBuilderGetTempHeapType
    TypeBuilderGetTempRefType = lib.TypeBuilderGetTempRefType
    TypeBuilderGetTempTupleType = lib.TypeBuilderGetTempTupleType
    TypeBuilderGrow = lib.TypeBuilderGrow
    TypeBuilderSetArrayType = lib.TypeBuilderSetArrayType
    TypeBuilderSetOpen = lib.TypeBuilderSetOpen
    TypeBuilderSetSignatureType = lib.TypeBuilderSetSignatureType
    TypeBuilderSetStructType = lib.TypeBuilderSetStructType
    TypeBuilderSetSubType = lib.TypeBuilderSetSubType
except AttributeError as x:
    print("Cannot find a symbol in the binaryen library. Make sure you're using version", __binaryen_lib_version__, file=sys.stderr)
    raise

@arigo
Copy link
Contributor

arigo commented Feb 25, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants