// Copyright (c) 2025, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

// DO NOT EDIT. This file is generated by runtime/tools/generate_dart_api_win_c.dart.

#include <windows.h>

#include <include/dart_api.h>
#include <include/dart_native_api.h>

typedef bool (*Dart_IsErrorType)(Dart_Handle);
typedef bool (*Dart_IsApiErrorType)(Dart_Handle);
typedef bool (*Dart_IsUnhandledExceptionErrorType)(Dart_Handle);
typedef bool (*Dart_IsCompilationErrorType)(Dart_Handle);
typedef bool (*Dart_IsFatalErrorType)(Dart_Handle);
typedef const char* (*Dart_GetErrorType)(Dart_Handle);
typedef bool (*Dart_ErrorHasExceptionType)(Dart_Handle);
typedef Dart_Handle (*Dart_ErrorGetExceptionType)(Dart_Handle);
typedef Dart_Handle (*Dart_ErrorGetStackTraceType)(Dart_Handle);
typedef Dart_Handle (*Dart_NewApiErrorType)(const char*);
typedef Dart_Handle (*Dart_NewCompilationErrorType)(const char*);
typedef Dart_Handle (*Dart_NewUnhandledExceptionErrorType)(Dart_Handle);
typedef void (*Dart_PropagateErrorType)(Dart_Handle);
typedef Dart_Handle (*Dart_ToStringType)(Dart_Handle);
typedef bool (*Dart_IdentityEqualsType)(Dart_Handle, Dart_Handle);
typedef Dart_Handle (*Dart_HandleFromPersistentType)(Dart_PersistentHandle);
typedef Dart_Handle (*Dart_HandleFromWeakPersistentType)(
    Dart_WeakPersistentHandle);
typedef Dart_PersistentHandle (*Dart_NewPersistentHandleType)(Dart_Handle);
typedef void (*Dart_SetPersistentHandleType)(Dart_PersistentHandle,
                                             Dart_Handle);
typedef void (*Dart_DeletePersistentHandleType)(Dart_PersistentHandle);
typedef Dart_WeakPersistentHandle (*Dart_NewWeakPersistentHandleType)(
    Dart_Handle,
    void*,
    intptr_t,
    Dart_HandleFinalizer);
typedef void (*Dart_DeleteWeakPersistentHandleType)(Dart_WeakPersistentHandle);
typedef Dart_FinalizableHandle (*Dart_NewFinalizableHandleType)(
    Dart_Handle,
    void*,
    intptr_t,
    Dart_HandleFinalizer);
typedef void (*Dart_DeleteFinalizableHandleType)(Dart_FinalizableHandle,
                                                 Dart_Handle);
typedef const char* (*Dart_VersionStringType)();
typedef void (*Dart_IsolateFlagsInitializeType)(Dart_IsolateFlags*);
typedef char* (*Dart_InitializeType)(Dart_InitializeParams*);
typedef char* (*Dart_CleanupType)();
typedef char* (*Dart_SetVMFlagsType)(int, const char**);
typedef bool (*Dart_IsVMFlagSetType)(const char*);
typedef Dart_Isolate (*Dart_CreateIsolateGroupType)(const char*,
                                                    const char*,
                                                    const uint8_t*,
                                                    const uint8_t*,
                                                    Dart_IsolateFlags*,
                                                    void*,
                                                    void*,
                                                    char**);
typedef Dart_Isolate (*Dart_CreateIsolateInGroupType)(
    Dart_Isolate,
    const char*,
    Dart_IsolateShutdownCallback,
    Dart_IsolateCleanupCallback,
    void*,
    char**);
typedef Dart_Isolate (*Dart_CreateIsolateGroupFromKernelType)(
    const char*,
    const char*,
    const uint8_t*,
    intptr_t,
    Dart_IsolateFlags*,
    void*,
    void*,
    char**);
typedef void (*Dart_ShutdownIsolateType)();
typedef Dart_Isolate (*Dart_CurrentIsolateType)();
typedef void* (*Dart_CurrentIsolateDataType)();
typedef void* (*Dart_IsolateDataType)(Dart_Isolate);
typedef Dart_IsolateGroup (*Dart_CurrentIsolateGroupType)();
typedef void* (*Dart_CurrentIsolateGroupDataType)();
typedef Dart_IsolateGroupId (*Dart_CurrentIsolateGroupIdType)();
typedef void* (*Dart_IsolateGroupDataType)(Dart_Isolate);
typedef Dart_Handle (*Dart_DebugNameType)();
typedef const char* (*Dart_DebugNameToCStringType)();
typedef const char* (*Dart_IsolateServiceIdType)(Dart_Isolate);
typedef void (*Dart_EnterIsolateType)(Dart_Isolate);
typedef void (*Dart_KillIsolateType)(Dart_Isolate);
typedef void (*Dart_NotifyIdleType)(int64_t);
typedef void (*Dart_EnableHeapSamplingType)();
typedef void (*Dart_DisableHeapSamplingType)();
typedef void (*Dart_RegisterHeapSamplingCallbackType)(
    Dart_HeapSamplingCreateCallback,
    Dart_HeapSamplingDeleteCallback);
typedef void (*Dart_ReportSurvivingAllocationsType)(
    Dart_HeapSamplingReportCallback,
    void*,
    bool);
typedef void (*Dart_SetHeapSamplingPeriodType)(intptr_t);
typedef void (*Dart_NotifyDestroyedType)();
typedef void (*Dart_NotifyLowMemoryType)();
typedef Dart_PerformanceMode (*Dart_SetPerformanceModeType)(
    Dart_PerformanceMode);
typedef void (*Dart_StartProfilingType)();
typedef void (*Dart_StopProfilingType)();
typedef void (*Dart_ThreadDisableProfilingType)();
typedef void (*Dart_ThreadEnableProfilingType)();
typedef void (*Dart_AddSymbolsType)(const char*, void*, intptr_t);
typedef void (*Dart_ExitIsolateType)();
typedef Dart_Handle (*Dart_CreateSnapshotType)(uint8_t**, intptr_t*);
typedef bool (*Dart_IsKernelType)(const uint8_t*, intptr_t);
typedef bool (*Dart_IsBytecodeType)(const uint8_t*, intptr_t);
typedef char* (*Dart_IsolateMakeRunnableType)(Dart_Isolate);
typedef void (*Dart_SetMessageNotifyCallbackType)(Dart_MessageNotifyCallback);
typedef Dart_MessageNotifyCallback (*Dart_GetMessageNotifyCallbackType)();
typedef bool (*Dart_ShouldPauseOnStartType)();
typedef void (*Dart_SetShouldPauseOnStartType)(bool);
typedef bool (*Dart_IsPausedOnStartType)();
typedef void (*Dart_SetPausedOnStartType)(bool);
typedef bool (*Dart_ShouldPauseOnExitType)();
typedef void (*Dart_SetShouldPauseOnExitType)(bool);
typedef bool (*Dart_IsPausedOnExitType)();
typedef void (*Dart_SetPausedOnExitType)(bool);
typedef void (*Dart_SetStickyErrorType)(Dart_Handle);
typedef bool (*Dart_HasStickyErrorType)();
typedef Dart_Handle (*Dart_GetStickyErrorType)();
typedef Dart_Handle (*Dart_HandleMessageType)();
typedef bool (*Dart_HandleServiceMessagesType)();
typedef bool (*Dart_HasServiceMessagesType)();
typedef Dart_Handle (*Dart_RunLoopType)();
typedef bool (*Dart_RunLoopAsyncType)(bool, Dart_Port, Dart_Port, char**);
typedef Dart_Port (*Dart_GetMainPortIdType)();
typedef bool (*Dart_HasLivePortsType)();
typedef bool (*Dart_PostType)(Dart_Port, Dart_Handle);
typedef Dart_Handle (*Dart_NewSendPortType)(Dart_Port);
typedef Dart_Handle (*Dart_NewSendPortExType)(Dart_PortEx);
typedef Dart_Handle (*Dart_SendPortGetIdType)(Dart_Handle, Dart_Port*);
typedef Dart_Handle (*Dart_SendPortGetIdExType)(Dart_Handle, Dart_PortEx*);
typedef void (*Dart_SetCurrentThreadOwnsIsolateType)();
typedef bool (*Dart_GetCurrentThreadOwnsIsolateType)(Dart_Port);
typedef void (*Dart_EnterScopeType)();
typedef void (*Dart_ExitScopeType)();
typedef uint8_t* (*Dart_ScopeAllocateType)(intptr_t);
typedef Dart_Handle (*Dart_NullType)();
typedef bool (*Dart_IsNullType)(Dart_Handle);
typedef Dart_Handle (*Dart_EmptyStringType)();
typedef Dart_Handle (*Dart_TypeDynamicType)();
typedef Dart_Handle (*Dart_TypeVoidType)();
typedef Dart_Handle (*Dart_TypeNeverType)();
typedef Dart_Handle (*Dart_TypeStringType)();
typedef Dart_Handle (*Dart_TypeDoubleType)();
typedef Dart_Handle (*Dart_TypeIntType)();
typedef Dart_Handle (*Dart_TypeBooleanType)();
typedef Dart_Handle (*Dart_TypeObjectType)();
typedef Dart_Handle (*Dart_ObjectEqualsType)(Dart_Handle, Dart_Handle, bool*);
typedef Dart_Handle (*Dart_ObjectIsTypeType)(Dart_Handle, Dart_Handle, bool*);
typedef bool (*Dart_IsInstanceType)(Dart_Handle);
typedef bool (*Dart_IsNumberType)(Dart_Handle);
typedef bool (*Dart_IsIntegerType)(Dart_Handle);
typedef bool (*Dart_IsDoubleType)(Dart_Handle);
typedef bool (*Dart_IsBooleanType)(Dart_Handle);
typedef bool (*Dart_IsStringType)(Dart_Handle);
typedef bool (*Dart_IsStringLatin1Type)(Dart_Handle);
typedef bool (*Dart_IsListType)(Dart_Handle);
typedef bool (*Dart_IsMapType)(Dart_Handle);
typedef bool (*Dart_IsLibraryType)(Dart_Handle);
typedef bool (*Dart_IsTypeType)(Dart_Handle);
typedef bool (*Dart_IsFunctionType)(Dart_Handle);
typedef bool (*Dart_IsVariableType)(Dart_Handle);
typedef bool (*Dart_IsTypeVariableType)(Dart_Handle);
typedef bool (*Dart_IsClosureType)(Dart_Handle);
typedef bool (*Dart_IsTypedDataType)(Dart_Handle);
typedef bool (*Dart_IsByteBufferType)(Dart_Handle);
typedef bool (*Dart_IsFutureType)(Dart_Handle);
typedef Dart_Handle (*Dart_InstanceGetTypeType)(Dart_Handle);
typedef Dart_Handle (*Dart_ClassNameType)(Dart_Handle);
typedef Dart_Handle (*Dart_FunctionNameType)(Dart_Handle);
typedef Dart_Handle (*Dart_FunctionOwnerType)(Dart_Handle);
typedef Dart_Handle (*Dart_FunctionIsStaticType)(Dart_Handle, bool*);
typedef bool (*Dart_IsTearOffType)(Dart_Handle);
typedef Dart_Handle (*Dart_ClosureFunctionType)(Dart_Handle);
typedef Dart_Handle (*Dart_ClassLibraryType)(Dart_Handle);
typedef Dart_Handle (*Dart_IntegerFitsIntoInt64Type)(Dart_Handle, bool*);
typedef Dart_Handle (*Dart_IntegerFitsIntoUint64Type)(Dart_Handle, bool*);
typedef Dart_Handle (*Dart_NewIntegerType)(int64_t);
typedef Dart_Handle (*Dart_NewIntegerFromUint64Type)(uint64_t);
typedef Dart_Handle (*Dart_NewIntegerFromHexCStringType)(const char*);
typedef Dart_Handle (*Dart_IntegerToInt64Type)(Dart_Handle, int64_t*);
typedef Dart_Handle (*Dart_IntegerToUint64Type)(Dart_Handle, uint64_t*);
typedef Dart_Handle (*Dart_IntegerToHexCStringType)(Dart_Handle, const char**);
typedef Dart_Handle (*Dart_NewDoubleType)(double);
typedef Dart_Handle (*Dart_DoubleValueType)(Dart_Handle, double*);
typedef Dart_Handle (*Dart_GetStaticMethodClosureType)(Dart_Handle,
                                                       Dart_Handle,
                                                       Dart_Handle);
typedef Dart_Handle (*Dart_TrueType)();
typedef Dart_Handle (*Dart_FalseType)();
typedef Dart_Handle (*Dart_NewBooleanType)(bool);
typedef Dart_Handle (*Dart_BooleanValueType)(Dart_Handle, bool*);
typedef Dart_Handle (*Dart_StringLengthType)(Dart_Handle, intptr_t*);
typedef Dart_Handle (*Dart_StringUTF8LengthType)(Dart_Handle, intptr_t*);
typedef Dart_Handle (*Dart_NewStringFromCStringType)(const char*);
typedef Dart_Handle (*Dart_NewStringFromUTF8Type)(const uint8_t*, intptr_t);
typedef Dart_Handle (*Dart_NewStringFromUTF16Type)(const uint16_t*, intptr_t);
typedef Dart_Handle (*Dart_NewStringFromUTF32Type)(const int32_t*, intptr_t);
typedef Dart_Handle (*Dart_StringToCStringType)(Dart_Handle, const char**);
typedef Dart_Handle (*Dart_StringToUTF8Type)(Dart_Handle, uint8_t**, intptr_t*);
typedef Dart_Handle (*Dart_CopyUTF8EncodingOfStringType)(Dart_Handle,
                                                         uint8_t*,
                                                         intptr_t);
typedef Dart_Handle (*Dart_StringToLatin1Type)(Dart_Handle,
                                               uint8_t*,
                                               intptr_t*);
typedef Dart_Handle (*Dart_StringToUTF16Type)(Dart_Handle,
                                              uint16_t*,
                                              intptr_t*);
typedef Dart_Handle (*Dart_StringStorageSizeType)(Dart_Handle, intptr_t*);
typedef Dart_Handle (*Dart_StringGetPropertiesType)(Dart_Handle,
                                                    intptr_t*,
                                                    intptr_t*,
                                                    void**);
typedef Dart_Handle (*Dart_NewListType)(intptr_t);
typedef Dart_Handle (*Dart_NewListOfTypeType)(Dart_Handle, intptr_t);
typedef Dart_Handle (*Dart_NewListOfTypeFilledType)(Dart_Handle,
                                                    Dart_Handle,
                                                    intptr_t);
typedef Dart_Handle (*Dart_ListLengthType)(Dart_Handle, intptr_t*);
typedef Dart_Handle (*Dart_ListGetAtType)(Dart_Handle, intptr_t);
typedef Dart_Handle (*Dart_ListGetRangeType)(Dart_Handle,
                                             intptr_t,
                                             intptr_t,
                                             Dart_Handle*);
typedef Dart_Handle (*Dart_ListSetAtType)(Dart_Handle, intptr_t, Dart_Handle);
typedef Dart_Handle (*Dart_ListGetAsBytesType)(Dart_Handle,
                                               intptr_t,
                                               uint8_t*,
                                               intptr_t);
typedef Dart_Handle (*Dart_ListSetAsBytesType)(Dart_Handle,
                                               intptr_t,
                                               const uint8_t*,
                                               intptr_t);
typedef Dart_Handle (*Dart_MapGetAtType)(Dart_Handle, Dart_Handle);
typedef Dart_Handle (*Dart_MapContainsKeyType)(Dart_Handle, Dart_Handle);
typedef Dart_Handle (*Dart_MapKeysType)(Dart_Handle);
typedef Dart_Handle (*Dart_NewMapType)(Dart_Handle,
                                       Dart_Handle,
                                       Dart_Handle,
                                       Dart_Handle);
typedef Dart_TypedData_Type (*Dart_GetTypeOfTypedDataType)(Dart_Handle);
typedef Dart_TypedData_Type (*Dart_GetTypeOfExternalTypedDataType)(Dart_Handle);
typedef Dart_Handle (*Dart_NewTypedDataType)(Dart_TypedData_Type, intptr_t);
typedef Dart_Handle (*Dart_NewExternalTypedDataType)(Dart_TypedData_Type,
                                                     void*,
                                                     intptr_t);
typedef Dart_Handle (*Dart_NewExternalTypedDataWithFinalizerType)(
    Dart_TypedData_Type,
    void*,
    intptr_t,
    void*,
    intptr_t,
    Dart_HandleFinalizer);
typedef Dart_Handle (*Dart_NewUnmodifiableExternalTypedDataWithFinalizerType)(
    Dart_TypedData_Type,
    const void*,
    intptr_t,
    void*,
    intptr_t,
    Dart_HandleFinalizer);
typedef Dart_Handle (*Dart_NewByteBufferType)(Dart_Handle);
typedef Dart_Handle (*Dart_TypedDataAcquireDataType)(Dart_Handle,
                                                     Dart_TypedData_Type*,
                                                     void**,
                                                     intptr_t*);
typedef Dart_Handle (*Dart_TypedDataReleaseDataType)(Dart_Handle);
typedef Dart_Handle (*Dart_GetDataFromByteBufferType)(Dart_Handle);
typedef Dart_Handle (*Dart_NewType)(Dart_Handle,
                                    Dart_Handle,
                                    int,
                                    Dart_Handle*);
typedef Dart_Handle (*Dart_AllocateType)(Dart_Handle);
typedef Dart_Handle (*Dart_AllocateWithNativeFieldsType)(Dart_Handle,
                                                         intptr_t,
                                                         const intptr_t*);
typedef Dart_Handle (*Dart_InvokeType)(Dart_Handle,
                                       Dart_Handle,
                                       int,
                                       Dart_Handle*);
typedef Dart_Handle (*Dart_InvokeClosureType)(Dart_Handle, int, Dart_Handle*);
typedef Dart_Handle (*Dart_InvokeConstructorType)(Dart_Handle,
                                                  Dart_Handle,
                                                  int,
                                                  Dart_Handle*);
typedef Dart_Handle (*Dart_GetFieldType)(Dart_Handle, Dart_Handle);
typedef Dart_Handle (*Dart_SetFieldType)(Dart_Handle, Dart_Handle, Dart_Handle);
typedef Dart_Handle (*Dart_ThrowExceptionType)(Dart_Handle);
typedef Dart_Handle (*Dart_ReThrowExceptionType)(Dart_Handle, Dart_Handle);
typedef Dart_Handle (*Dart_GetNativeInstanceFieldCountType)(Dart_Handle, int*);
typedef Dart_Handle (*Dart_GetNativeInstanceFieldType)(Dart_Handle,
                                                       int,
                                                       intptr_t*);
typedef Dart_Handle (*Dart_SetNativeInstanceFieldType)(Dart_Handle,
                                                       int,
                                                       intptr_t);
typedef void* (*Dart_GetNativeIsolateGroupDataType)(Dart_NativeArguments);
typedef Dart_Handle (*Dart_GetNativeArgumentsType)(
    Dart_NativeArguments,
    int,
    const Dart_NativeArgument_Descriptor*,
    Dart_NativeArgument_Value*);
typedef Dart_Handle (*Dart_GetNativeArgumentType)(Dart_NativeArguments, int);
typedef int (*Dart_GetNativeArgumentCountType)(Dart_NativeArguments);
typedef Dart_Handle (*Dart_GetNativeFieldsOfArgumentType)(Dart_NativeArguments,
                                                          int,
                                                          int,
                                                          intptr_t*);
typedef Dart_Handle (*Dart_GetNativeReceiverType)(Dart_NativeArguments,
                                                  intptr_t*);
typedef Dart_Handle (*Dart_GetNativeStringArgumentType)(Dart_NativeArguments,
                                                        int,
                                                        void**);
typedef Dart_Handle (*Dart_GetNativeIntegerArgumentType)(Dart_NativeArguments,
                                                         int,
                                                         int64_t*);
typedef Dart_Handle (*Dart_GetNativeBooleanArgumentType)(Dart_NativeArguments,
                                                         int,
                                                         bool*);
typedef Dart_Handle (*Dart_GetNativeDoubleArgumentType)(Dart_NativeArguments,
                                                        int,
                                                        double*);
typedef void (*Dart_SetReturnValueType)(Dart_NativeArguments, Dart_Handle);
typedef void (*Dart_SetWeakHandleReturnValueType)(Dart_NativeArguments,
                                                  Dart_WeakPersistentHandle);
typedef void (*Dart_SetBooleanReturnValueType)(Dart_NativeArguments, bool);
typedef void (*Dart_SetIntegerReturnValueType)(Dart_NativeArguments, int64_t);
typedef void (*Dart_SetDoubleReturnValueType)(Dart_NativeArguments, double);
typedef Dart_Handle (*Dart_SetEnvironmentCallbackType)(
    Dart_EnvironmentCallback);
typedef Dart_Handle (*Dart_SetNativeResolverType)(Dart_Handle,
                                                  Dart_NativeEntryResolver,
                                                  Dart_NativeEntrySymbol);
typedef Dart_Handle (*Dart_GetNativeResolverType)(Dart_Handle,
                                                  Dart_NativeEntryResolver*);
typedef Dart_Handle (*Dart_GetNativeSymbolType)(Dart_Handle,
                                                Dart_NativeEntrySymbol*);
typedef Dart_Handle (*Dart_SetFfiNativeResolverType)(Dart_Handle,
                                                     Dart_FfiNativeResolver);
typedef void (*Dart_InitializeNativeAssetsResolverType)(NativeAssetsApi*);
typedef Dart_Handle (*Dart_SetLibraryTagHandlerType)(Dart_LibraryTagHandler);
typedef Dart_Handle (*Dart_SetDeferredLoadHandlerType)(
    Dart_DeferredLoadHandler);
typedef Dart_Handle (*Dart_DeferredLoadCompleteType)(intptr_t,
                                                     const uint8_t*,
                                                     const uint8_t*);
typedef Dart_Handle (*Dart_DeferredLoadCompleteErrorType)(intptr_t,
                                                          const char*,
                                                          bool);
typedef Dart_Handle (*Dart_LoadScriptFromKernelType)(const uint8_t*, intptr_t);
typedef Dart_Handle (*Dart_LoadScriptFromBytecodeType)(const uint8_t*,
                                                       intptr_t);
typedef Dart_Handle (*Dart_LoadModuleSnapshotType)(const uint8_t*,
                                                   const uint8_t*);
typedef Dart_Handle (*Dart_RootLibraryType)();
typedef Dart_Handle (*Dart_SetRootLibraryType)(Dart_Handle);
typedef Dart_Handle (*Dart_GetTypeType)(Dart_Handle,
                                        Dart_Handle,
                                        intptr_t,
                                        Dart_Handle*);
typedef Dart_Handle (*Dart_GetNullableTypeType)(Dart_Handle,
                                                Dart_Handle,
                                                intptr_t,
                                                Dart_Handle*);
typedef Dart_Handle (*Dart_GetNonNullableTypeType)(Dart_Handle,
                                                   Dart_Handle,
                                                   intptr_t,
                                                   Dart_Handle*);
typedef Dart_Handle (*Dart_TypeToNullableTypeType)(Dart_Handle);
typedef Dart_Handle (*Dart_TypeToNonNullableTypeType)(Dart_Handle);
typedef Dart_Handle (*Dart_IsNullableTypeType)(Dart_Handle, bool*);
typedef Dart_Handle (*Dart_IsNonNullableTypeType)(Dart_Handle, bool*);
typedef Dart_Handle (*Dart_GetClassType)(Dart_Handle, Dart_Handle);
typedef Dart_Handle (*Dart_LibraryUrlType)(Dart_Handle);
typedef Dart_Handle (*Dart_LibraryResolvedUrlType)(Dart_Handle);
typedef Dart_Handle (*Dart_GetLoadedLibrariesType)();
typedef Dart_Handle (*Dart_LookupLibraryType)(Dart_Handle);
typedef Dart_Handle (*Dart_LibraryHandleErrorType)(Dart_Handle, Dart_Handle);
typedef Dart_Handle (*Dart_LoadLibraryFromKernelType)(const uint8_t*, intptr_t);
typedef Dart_Handle (*Dart_LoadLibraryType)(Dart_Handle);
typedef Dart_Handle (*Dart_LoadLibraryFromBytecodeType)(Dart_Handle);
typedef Dart_Handle (*Dart_FinalizeLoadingType)(bool);
typedef Dart_Handle (*Dart_GetPeerType)(Dart_Handle, void**);
typedef Dart_Handle (*Dart_SetPeerType)(Dart_Handle, void*);
typedef bool (*Dart_IsKernelIsolateType)(Dart_Isolate);
typedef bool (*Dart_KernelIsolateIsRunningType)();
typedef Dart_Port (*Dart_KernelPortType)();
typedef Dart_KernelCompilationResult (*Dart_CompileToKernelType)(
    const char*,
    const uint8_t*,
    const intptr_t,
    bool,
    bool,
    bool,
    const char*,
    Dart_KernelCompilationVerbosityLevel);
typedef Dart_KernelCompilationResult (*Dart_KernelListDependenciesType)();
typedef void (*Dart_SetDartLibrarySourcesKernelType)(const uint8_t*,
                                                     const intptr_t);
typedef bool (*Dart_DetectNullSafetyType)(const char*,
                                          const char*,
                                          const char*,
                                          const uint8_t*,
                                          const uint8_t*,
                                          const uint8_t*,
                                          intptr_t);
typedef bool (*Dart_IsServiceIsolateType)(Dart_Isolate);
typedef bool (*Dart_WriteProfileToTimelineType)(Dart_Port, char**);
typedef Dart_Handle (*Dart_PrecompileType)();
typedef Dart_Handle (*Dart_LoadingUnitLibraryUrisType)(intptr_t);
typedef Dart_Handle (*Dart_CreateAppAOTSnapshotAsAssemblyType)(
    Dart_StreamingWriteCallback,
    void*,
    bool,
    void*);
typedef Dart_Handle (*Dart_CreateAppAOTSnapshotAsAssembliesType)(
    Dart_CreateLoadingUnitCallback,
    void*,
    bool,
    Dart_StreamingWriteCallback,
    Dart_StreamingCloseCallback);
typedef Dart_Handle (*Dart_CreateAppAOTSnapshotAsElfType)(
    Dart_StreamingWriteCallback,
    void*,
    bool,
    void*);
typedef Dart_Handle (*Dart_CreateAppAOTSnapshotAsElfsType)(
    Dart_CreateLoadingUnitCallback,
    void*,
    bool,
    Dart_StreamingWriteCallback,
    Dart_StreamingCloseCallback);
typedef Dart_Handle (*Dart_CreateAppAOTSnapshotAsBinaryType)(
    Dart_AotBinaryFormat,
    Dart_StreamingWriteCallback,
    void*,
    bool,
    void*,
    const char*,
    const char*);
typedef Dart_Handle (*Dart_CreateAppAOTSnapshotAndRelocatableObjectType)(
    Dart_AotBinaryFormat,
    Dart_StreamingWriteCallback,
    void*,
    void*,
    bool,
    void*,
    const char*,
    const char*);
typedef Dart_Handle (*Dart_WriteCallbackStubType)(Dart_StreamingWriteCallback,
                                                  void*);
typedef Dart_Handle (*Dart_SortClassesType)();
typedef Dart_Handle (*Dart_CreateAppJITSnapshotAsBlobsType)(uint8_t**,
                                                            intptr_t*,
                                                            uint8_t**,
                                                            intptr_t*);
typedef Dart_Handle (*Dart_GetObfuscationMapType)(uint8_t**, intptr_t*);
typedef bool (*Dart_IsPrecompiledRuntimeType)();
typedef void (*Dart_DumpNativeStackTraceType)(void*);
typedef void (*Dart_PrepareToAbortType)();
typedef void (*Dart_SetDwarfStackTraceFootnoteCallbackType)(
    Dart_DwarfStackTraceFootnoteCallback);
typedef bool (*Dart_PostCObjectType)(Dart_Port, Dart_CObject*);
typedef bool (*Dart_PostIntegerType)(Dart_Port, int64_t);
typedef Dart_Port (*Dart_NewNativePortType)(const char*,
                                            Dart_NativeMessageHandler,
                                            bool);
typedef Dart_Port (*Dart_NewConcurrentNativePortType)(const char*,
                                                      Dart_NativeMessageHandler,
                                                      intptr_t);
typedef bool (*Dart_CloseNativePortType)(Dart_Port);
typedef Dart_Handle (*Dart_CompileAllType)();
typedef Dart_Handle (*Dart_FinalizeAllClassesType)();
typedef void* (*Dart_ExecuteInternalCommandType)(const char*, void*);

static Dart_IsErrorType Dart_IsErrorFn = NULL;
static Dart_IsApiErrorType Dart_IsApiErrorFn = NULL;
static Dart_IsUnhandledExceptionErrorType Dart_IsUnhandledExceptionErrorFn =
    NULL;
static Dart_IsCompilationErrorType Dart_IsCompilationErrorFn = NULL;
static Dart_IsFatalErrorType Dart_IsFatalErrorFn = NULL;
static Dart_GetErrorType Dart_GetErrorFn = NULL;
static Dart_ErrorHasExceptionType Dart_ErrorHasExceptionFn = NULL;
static Dart_ErrorGetExceptionType Dart_ErrorGetExceptionFn = NULL;
static Dart_ErrorGetStackTraceType Dart_ErrorGetStackTraceFn = NULL;
static Dart_NewApiErrorType Dart_NewApiErrorFn = NULL;
static Dart_NewCompilationErrorType Dart_NewCompilationErrorFn = NULL;
static Dart_NewUnhandledExceptionErrorType Dart_NewUnhandledExceptionErrorFn =
    NULL;
static Dart_PropagateErrorType Dart_PropagateErrorFn = NULL;
static Dart_ToStringType Dart_ToStringFn = NULL;
static Dart_IdentityEqualsType Dart_IdentityEqualsFn = NULL;
static Dart_HandleFromPersistentType Dart_HandleFromPersistentFn = NULL;
static Dart_HandleFromWeakPersistentType Dart_HandleFromWeakPersistentFn = NULL;
static Dart_NewPersistentHandleType Dart_NewPersistentHandleFn = NULL;
static Dart_SetPersistentHandleType Dart_SetPersistentHandleFn = NULL;
static Dart_DeletePersistentHandleType Dart_DeletePersistentHandleFn = NULL;
static Dart_NewWeakPersistentHandleType Dart_NewWeakPersistentHandleFn = NULL;
static Dart_DeleteWeakPersistentHandleType Dart_DeleteWeakPersistentHandleFn =
    NULL;
static Dart_NewFinalizableHandleType Dart_NewFinalizableHandleFn = NULL;
static Dart_DeleteFinalizableHandleType Dart_DeleteFinalizableHandleFn = NULL;
static Dart_VersionStringType Dart_VersionStringFn = NULL;
static Dart_IsolateFlagsInitializeType Dart_IsolateFlagsInitializeFn = NULL;
static Dart_InitializeType Dart_InitializeFn = NULL;
static Dart_CleanupType Dart_CleanupFn = NULL;
static Dart_SetVMFlagsType Dart_SetVMFlagsFn = NULL;
static Dart_IsVMFlagSetType Dart_IsVMFlagSetFn = NULL;
static Dart_CreateIsolateGroupType Dart_CreateIsolateGroupFn = NULL;
static Dart_CreateIsolateInGroupType Dart_CreateIsolateInGroupFn = NULL;
static Dart_CreateIsolateGroupFromKernelType
    Dart_CreateIsolateGroupFromKernelFn = NULL;
static Dart_ShutdownIsolateType Dart_ShutdownIsolateFn = NULL;
static Dart_CurrentIsolateType Dart_CurrentIsolateFn = NULL;
static Dart_CurrentIsolateDataType Dart_CurrentIsolateDataFn = NULL;
static Dart_IsolateDataType Dart_IsolateDataFn = NULL;
static Dart_CurrentIsolateGroupType Dart_CurrentIsolateGroupFn = NULL;
static Dart_CurrentIsolateGroupDataType Dart_CurrentIsolateGroupDataFn = NULL;
static Dart_CurrentIsolateGroupIdType Dart_CurrentIsolateGroupIdFn = NULL;
static Dart_IsolateGroupDataType Dart_IsolateGroupDataFn = NULL;
static Dart_DebugNameType Dart_DebugNameFn = NULL;
static Dart_DebugNameToCStringType Dart_DebugNameToCStringFn = NULL;
static Dart_IsolateServiceIdType Dart_IsolateServiceIdFn = NULL;
static Dart_EnterIsolateType Dart_EnterIsolateFn = NULL;
static Dart_KillIsolateType Dart_KillIsolateFn = NULL;
static Dart_NotifyIdleType Dart_NotifyIdleFn = NULL;
static Dart_EnableHeapSamplingType Dart_EnableHeapSamplingFn = NULL;
static Dart_DisableHeapSamplingType Dart_DisableHeapSamplingFn = NULL;
static Dart_RegisterHeapSamplingCallbackType
    Dart_RegisterHeapSamplingCallbackFn = NULL;
static Dart_ReportSurvivingAllocationsType Dart_ReportSurvivingAllocationsFn =
    NULL;
static Dart_SetHeapSamplingPeriodType Dart_SetHeapSamplingPeriodFn = NULL;
static Dart_NotifyDestroyedType Dart_NotifyDestroyedFn = NULL;
static Dart_NotifyLowMemoryType Dart_NotifyLowMemoryFn = NULL;
static Dart_SetPerformanceModeType Dart_SetPerformanceModeFn = NULL;
static Dart_StartProfilingType Dart_StartProfilingFn = NULL;
static Dart_StopProfilingType Dart_StopProfilingFn = NULL;
static Dart_ThreadDisableProfilingType Dart_ThreadDisableProfilingFn = NULL;
static Dart_ThreadEnableProfilingType Dart_ThreadEnableProfilingFn = NULL;
static Dart_AddSymbolsType Dart_AddSymbolsFn = NULL;
static Dart_ExitIsolateType Dart_ExitIsolateFn = NULL;
static Dart_CreateSnapshotType Dart_CreateSnapshotFn = NULL;
static Dart_IsKernelType Dart_IsKernelFn = NULL;
static Dart_IsBytecodeType Dart_IsBytecodeFn = NULL;
static Dart_IsolateMakeRunnableType Dart_IsolateMakeRunnableFn = NULL;
static Dart_SetMessageNotifyCallbackType Dart_SetMessageNotifyCallbackFn = NULL;
static Dart_GetMessageNotifyCallbackType Dart_GetMessageNotifyCallbackFn = NULL;
static Dart_ShouldPauseOnStartType Dart_ShouldPauseOnStartFn = NULL;
static Dart_SetShouldPauseOnStartType Dart_SetShouldPauseOnStartFn = NULL;
static Dart_IsPausedOnStartType Dart_IsPausedOnStartFn = NULL;
static Dart_SetPausedOnStartType Dart_SetPausedOnStartFn = NULL;
static Dart_ShouldPauseOnExitType Dart_ShouldPauseOnExitFn = NULL;
static Dart_SetShouldPauseOnExitType Dart_SetShouldPauseOnExitFn = NULL;
static Dart_IsPausedOnExitType Dart_IsPausedOnExitFn = NULL;
static Dart_SetPausedOnExitType Dart_SetPausedOnExitFn = NULL;
static Dart_SetStickyErrorType Dart_SetStickyErrorFn = NULL;
static Dart_HasStickyErrorType Dart_HasStickyErrorFn = NULL;
static Dart_GetStickyErrorType Dart_GetStickyErrorFn = NULL;
static Dart_HandleMessageType Dart_HandleMessageFn = NULL;
static Dart_HandleServiceMessagesType Dart_HandleServiceMessagesFn = NULL;
static Dart_HasServiceMessagesType Dart_HasServiceMessagesFn = NULL;
static Dart_RunLoopType Dart_RunLoopFn = NULL;
static Dart_RunLoopAsyncType Dart_RunLoopAsyncFn = NULL;
static Dart_GetMainPortIdType Dart_GetMainPortIdFn = NULL;
static Dart_HasLivePortsType Dart_HasLivePortsFn = NULL;
static Dart_PostType Dart_PostFn = NULL;
static Dart_NewSendPortType Dart_NewSendPortFn = NULL;
static Dart_NewSendPortExType Dart_NewSendPortExFn = NULL;
static Dart_SendPortGetIdType Dart_SendPortGetIdFn = NULL;
static Dart_SendPortGetIdExType Dart_SendPortGetIdExFn = NULL;
static Dart_SetCurrentThreadOwnsIsolateType Dart_SetCurrentThreadOwnsIsolateFn =
    NULL;
static Dart_GetCurrentThreadOwnsIsolateType Dart_GetCurrentThreadOwnsIsolateFn =
    NULL;
static Dart_EnterScopeType Dart_EnterScopeFn = NULL;
static Dart_ExitScopeType Dart_ExitScopeFn = NULL;
static Dart_ScopeAllocateType Dart_ScopeAllocateFn = NULL;
static Dart_NullType Dart_NullFn = NULL;
static Dart_IsNullType Dart_IsNullFn = NULL;
static Dart_EmptyStringType Dart_EmptyStringFn = NULL;
static Dart_TypeDynamicType Dart_TypeDynamicFn = NULL;
static Dart_TypeVoidType Dart_TypeVoidFn = NULL;
static Dart_TypeNeverType Dart_TypeNeverFn = NULL;
static Dart_TypeStringType Dart_TypeStringFn = NULL;
static Dart_TypeDoubleType Dart_TypeDoubleFn = NULL;
static Dart_TypeIntType Dart_TypeIntFn = NULL;
static Dart_TypeBooleanType Dart_TypeBooleanFn = NULL;
static Dart_TypeObjectType Dart_TypeObjectFn = NULL;
static Dart_ObjectEqualsType Dart_ObjectEqualsFn = NULL;
static Dart_ObjectIsTypeType Dart_ObjectIsTypeFn = NULL;
static Dart_IsInstanceType Dart_IsInstanceFn = NULL;
static Dart_IsNumberType Dart_IsNumberFn = NULL;
static Dart_IsIntegerType Dart_IsIntegerFn = NULL;
static Dart_IsDoubleType Dart_IsDoubleFn = NULL;
static Dart_IsBooleanType Dart_IsBooleanFn = NULL;
static Dart_IsStringType Dart_IsStringFn = NULL;
static Dart_IsStringLatin1Type Dart_IsStringLatin1Fn = NULL;
static Dart_IsListType Dart_IsListFn = NULL;
static Dart_IsMapType Dart_IsMapFn = NULL;
static Dart_IsLibraryType Dart_IsLibraryFn = NULL;
static Dart_IsTypeType Dart_IsTypeFn = NULL;
static Dart_IsFunctionType Dart_IsFunctionFn = NULL;
static Dart_IsVariableType Dart_IsVariableFn = NULL;
static Dart_IsTypeVariableType Dart_IsTypeVariableFn = NULL;
static Dart_IsClosureType Dart_IsClosureFn = NULL;
static Dart_IsTypedDataType Dart_IsTypedDataFn = NULL;
static Dart_IsByteBufferType Dart_IsByteBufferFn = NULL;
static Dart_IsFutureType Dart_IsFutureFn = NULL;
static Dart_InstanceGetTypeType Dart_InstanceGetTypeFn = NULL;
static Dart_ClassNameType Dart_ClassNameFn = NULL;
static Dart_FunctionNameType Dart_FunctionNameFn = NULL;
static Dart_FunctionOwnerType Dart_FunctionOwnerFn = NULL;
static Dart_FunctionIsStaticType Dart_FunctionIsStaticFn = NULL;
static Dart_IsTearOffType Dart_IsTearOffFn = NULL;
static Dart_ClosureFunctionType Dart_ClosureFunctionFn = NULL;
static Dart_ClassLibraryType Dart_ClassLibraryFn = NULL;
static Dart_IntegerFitsIntoInt64Type Dart_IntegerFitsIntoInt64Fn = NULL;
static Dart_IntegerFitsIntoUint64Type Dart_IntegerFitsIntoUint64Fn = NULL;
static Dart_NewIntegerType Dart_NewIntegerFn = NULL;
static Dart_NewIntegerFromUint64Type Dart_NewIntegerFromUint64Fn = NULL;
static Dart_NewIntegerFromHexCStringType Dart_NewIntegerFromHexCStringFn = NULL;
static Dart_IntegerToInt64Type Dart_IntegerToInt64Fn = NULL;
static Dart_IntegerToUint64Type Dart_IntegerToUint64Fn = NULL;
static Dart_IntegerToHexCStringType Dart_IntegerToHexCStringFn = NULL;
static Dart_NewDoubleType Dart_NewDoubleFn = NULL;
static Dart_DoubleValueType Dart_DoubleValueFn = NULL;
static Dart_GetStaticMethodClosureType Dart_GetStaticMethodClosureFn = NULL;
static Dart_TrueType Dart_TrueFn = NULL;
static Dart_FalseType Dart_FalseFn = NULL;
static Dart_NewBooleanType Dart_NewBooleanFn = NULL;
static Dart_BooleanValueType Dart_BooleanValueFn = NULL;
static Dart_StringLengthType Dart_StringLengthFn = NULL;
static Dart_StringUTF8LengthType Dart_StringUTF8LengthFn = NULL;
static Dart_NewStringFromCStringType Dart_NewStringFromCStringFn = NULL;
static Dart_NewStringFromUTF8Type Dart_NewStringFromUTF8Fn = NULL;
static Dart_NewStringFromUTF16Type Dart_NewStringFromUTF16Fn = NULL;
static Dart_NewStringFromUTF32Type Dart_NewStringFromUTF32Fn = NULL;
static Dart_StringToCStringType Dart_StringToCStringFn = NULL;
static Dart_StringToUTF8Type Dart_StringToUTF8Fn = NULL;
static Dart_CopyUTF8EncodingOfStringType Dart_CopyUTF8EncodingOfStringFn = NULL;
static Dart_StringToLatin1Type Dart_StringToLatin1Fn = NULL;
static Dart_StringToUTF16Type Dart_StringToUTF16Fn = NULL;
static Dart_StringStorageSizeType Dart_StringStorageSizeFn = NULL;
static Dart_StringGetPropertiesType Dart_StringGetPropertiesFn = NULL;
static Dart_NewListType Dart_NewListFn = NULL;
static Dart_NewListOfTypeType Dart_NewListOfTypeFn = NULL;
static Dart_NewListOfTypeFilledType Dart_NewListOfTypeFilledFn = NULL;
static Dart_ListLengthType Dart_ListLengthFn = NULL;
static Dart_ListGetAtType Dart_ListGetAtFn = NULL;
static Dart_ListGetRangeType Dart_ListGetRangeFn = NULL;
static Dart_ListSetAtType Dart_ListSetAtFn = NULL;
static Dart_ListGetAsBytesType Dart_ListGetAsBytesFn = NULL;
static Dart_ListSetAsBytesType Dart_ListSetAsBytesFn = NULL;
static Dart_MapGetAtType Dart_MapGetAtFn = NULL;
static Dart_MapContainsKeyType Dart_MapContainsKeyFn = NULL;
static Dart_MapKeysType Dart_MapKeysFn = NULL;
static Dart_NewMapType Dart_NewMapFn = NULL;
static Dart_GetTypeOfTypedDataType Dart_GetTypeOfTypedDataFn = NULL;
static Dart_GetTypeOfExternalTypedDataType Dart_GetTypeOfExternalTypedDataFn =
    NULL;
static Dart_NewTypedDataType Dart_NewTypedDataFn = NULL;
static Dart_NewExternalTypedDataType Dart_NewExternalTypedDataFn = NULL;
static Dart_NewExternalTypedDataWithFinalizerType
    Dart_NewExternalTypedDataWithFinalizerFn = NULL;
static Dart_NewUnmodifiableExternalTypedDataWithFinalizerType
    Dart_NewUnmodifiableExternalTypedDataWithFinalizerFn = NULL;
static Dart_NewByteBufferType Dart_NewByteBufferFn = NULL;
static Dart_TypedDataAcquireDataType Dart_TypedDataAcquireDataFn = NULL;
static Dart_TypedDataReleaseDataType Dart_TypedDataReleaseDataFn = NULL;
static Dart_GetDataFromByteBufferType Dart_GetDataFromByteBufferFn = NULL;
static Dart_NewType Dart_NewFn = NULL;
static Dart_AllocateType Dart_AllocateFn = NULL;
static Dart_AllocateWithNativeFieldsType Dart_AllocateWithNativeFieldsFn = NULL;
static Dart_InvokeType Dart_InvokeFn = NULL;
static Dart_InvokeClosureType Dart_InvokeClosureFn = NULL;
static Dart_InvokeConstructorType Dart_InvokeConstructorFn = NULL;
static Dart_GetFieldType Dart_GetFieldFn = NULL;
static Dart_SetFieldType Dart_SetFieldFn = NULL;
static Dart_ThrowExceptionType Dart_ThrowExceptionFn = NULL;
static Dart_ReThrowExceptionType Dart_ReThrowExceptionFn = NULL;
static Dart_GetNativeInstanceFieldCountType Dart_GetNativeInstanceFieldCountFn =
    NULL;
static Dart_GetNativeInstanceFieldType Dart_GetNativeInstanceFieldFn = NULL;
static Dart_SetNativeInstanceFieldType Dart_SetNativeInstanceFieldFn = NULL;
static Dart_GetNativeIsolateGroupDataType Dart_GetNativeIsolateGroupDataFn =
    NULL;
static Dart_GetNativeArgumentsType Dart_GetNativeArgumentsFn = NULL;
static Dart_GetNativeArgumentType Dart_GetNativeArgumentFn = NULL;
static Dart_GetNativeArgumentCountType Dart_GetNativeArgumentCountFn = NULL;
static Dart_GetNativeFieldsOfArgumentType Dart_GetNativeFieldsOfArgumentFn =
    NULL;
static Dart_GetNativeReceiverType Dart_GetNativeReceiverFn = NULL;
static Dart_GetNativeStringArgumentType Dart_GetNativeStringArgumentFn = NULL;
static Dart_GetNativeIntegerArgumentType Dart_GetNativeIntegerArgumentFn = NULL;
static Dart_GetNativeBooleanArgumentType Dart_GetNativeBooleanArgumentFn = NULL;
static Dart_GetNativeDoubleArgumentType Dart_GetNativeDoubleArgumentFn = NULL;
static Dart_SetReturnValueType Dart_SetReturnValueFn = NULL;
static Dart_SetWeakHandleReturnValueType Dart_SetWeakHandleReturnValueFn = NULL;
static Dart_SetBooleanReturnValueType Dart_SetBooleanReturnValueFn = NULL;
static Dart_SetIntegerReturnValueType Dart_SetIntegerReturnValueFn = NULL;
static Dart_SetDoubleReturnValueType Dart_SetDoubleReturnValueFn = NULL;
static Dart_SetEnvironmentCallbackType Dart_SetEnvironmentCallbackFn = NULL;
static Dart_SetNativeResolverType Dart_SetNativeResolverFn = NULL;
static Dart_GetNativeResolverType Dart_GetNativeResolverFn = NULL;
static Dart_GetNativeSymbolType Dart_GetNativeSymbolFn = NULL;
static Dart_SetFfiNativeResolverType Dart_SetFfiNativeResolverFn = NULL;
static Dart_InitializeNativeAssetsResolverType
    Dart_InitializeNativeAssetsResolverFn = NULL;
static Dart_SetLibraryTagHandlerType Dart_SetLibraryTagHandlerFn = NULL;
static Dart_SetDeferredLoadHandlerType Dart_SetDeferredLoadHandlerFn = NULL;
static Dart_DeferredLoadCompleteType Dart_DeferredLoadCompleteFn = NULL;
static Dart_DeferredLoadCompleteErrorType Dart_DeferredLoadCompleteErrorFn =
    NULL;
static Dart_LoadScriptFromKernelType Dart_LoadScriptFromKernelFn = NULL;
static Dart_LoadScriptFromBytecodeType Dart_LoadScriptFromBytecodeFn = NULL;
static Dart_LoadModuleSnapshotType Dart_LoadModuleSnapshotFn = NULL;
static Dart_RootLibraryType Dart_RootLibraryFn = NULL;
static Dart_SetRootLibraryType Dart_SetRootLibraryFn = NULL;
static Dart_GetTypeType Dart_GetTypeFn = NULL;
static Dart_GetNullableTypeType Dart_GetNullableTypeFn = NULL;
static Dart_GetNonNullableTypeType Dart_GetNonNullableTypeFn = NULL;
static Dart_TypeToNullableTypeType Dart_TypeToNullableTypeFn = NULL;
static Dart_TypeToNonNullableTypeType Dart_TypeToNonNullableTypeFn = NULL;
static Dart_IsNullableTypeType Dart_IsNullableTypeFn = NULL;
static Dart_IsNonNullableTypeType Dart_IsNonNullableTypeFn = NULL;
static Dart_GetClassType Dart_GetClassFn = NULL;
static Dart_LibraryUrlType Dart_LibraryUrlFn = NULL;
static Dart_LibraryResolvedUrlType Dart_LibraryResolvedUrlFn = NULL;
static Dart_GetLoadedLibrariesType Dart_GetLoadedLibrariesFn = NULL;
static Dart_LookupLibraryType Dart_LookupLibraryFn = NULL;
static Dart_LibraryHandleErrorType Dart_LibraryHandleErrorFn = NULL;
static Dart_LoadLibraryFromKernelType Dart_LoadLibraryFromKernelFn = NULL;
static Dart_LoadLibraryType Dart_LoadLibraryFn = NULL;
static Dart_LoadLibraryFromBytecodeType Dart_LoadLibraryFromBytecodeFn = NULL;
static Dart_FinalizeLoadingType Dart_FinalizeLoadingFn = NULL;
static Dart_GetPeerType Dart_GetPeerFn = NULL;
static Dart_SetPeerType Dart_SetPeerFn = NULL;
static Dart_IsKernelIsolateType Dart_IsKernelIsolateFn = NULL;
static Dart_KernelIsolateIsRunningType Dart_KernelIsolateIsRunningFn = NULL;
static Dart_KernelPortType Dart_KernelPortFn = NULL;
static Dart_CompileToKernelType Dart_CompileToKernelFn = NULL;
static Dart_KernelListDependenciesType Dart_KernelListDependenciesFn = NULL;
static Dart_SetDartLibrarySourcesKernelType Dart_SetDartLibrarySourcesKernelFn =
    NULL;
static Dart_DetectNullSafetyType Dart_DetectNullSafetyFn = NULL;
static Dart_IsServiceIsolateType Dart_IsServiceIsolateFn = NULL;
static Dart_WriteProfileToTimelineType Dart_WriteProfileToTimelineFn = NULL;
static Dart_PrecompileType Dart_PrecompileFn = NULL;
static Dart_LoadingUnitLibraryUrisType Dart_LoadingUnitLibraryUrisFn = NULL;
static Dart_CreateAppAOTSnapshotAsAssemblyType
    Dart_CreateAppAOTSnapshotAsAssemblyFn = NULL;
static Dart_CreateAppAOTSnapshotAsAssembliesType
    Dart_CreateAppAOTSnapshotAsAssembliesFn = NULL;
static Dart_CreateAppAOTSnapshotAsElfType Dart_CreateAppAOTSnapshotAsElfFn =
    NULL;
static Dart_CreateAppAOTSnapshotAsElfsType Dart_CreateAppAOTSnapshotAsElfsFn =
    NULL;
static Dart_CreateAppAOTSnapshotAsBinaryType
    Dart_CreateAppAOTSnapshotAsBinaryFn = NULL;
static Dart_CreateAppAOTSnapshotAndRelocatableObjectType
    Dart_CreateAppAOTSnapshotAndRelocatableObjectFn = NULL;
static Dart_WriteCallbackStubType Dart_WriteCallbackStubFn = NULL;
static Dart_SortClassesType Dart_SortClassesFn = NULL;
static Dart_CreateAppJITSnapshotAsBlobsType Dart_CreateAppJITSnapshotAsBlobsFn =
    NULL;
static Dart_GetObfuscationMapType Dart_GetObfuscationMapFn = NULL;
static Dart_IsPrecompiledRuntimeType Dart_IsPrecompiledRuntimeFn = NULL;
static Dart_DumpNativeStackTraceType Dart_DumpNativeStackTraceFn = NULL;
static Dart_PrepareToAbortType Dart_PrepareToAbortFn = NULL;
static Dart_SetDwarfStackTraceFootnoteCallbackType
    Dart_SetDwarfStackTraceFootnoteCallbackFn = NULL;
static Dart_PostCObjectType Dart_PostCObjectFn = NULL;
static Dart_PostIntegerType Dart_PostIntegerFn = NULL;
static Dart_NewNativePortType Dart_NewNativePortFn = NULL;
static Dart_NewConcurrentNativePortType Dart_NewConcurrentNativePortFn = NULL;
static Dart_CloseNativePortType Dart_CloseNativePortFn = NULL;
static Dart_CompileAllType Dart_CompileAllFn = NULL;
static Dart_FinalizeAllClassesType Dart_FinalizeAllClassesFn = NULL;
static Dart_ExecuteInternalCommandType Dart_ExecuteInternalCommandFn = NULL;

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
  if (fdwReason == DLL_PROCESS_ATTACH) {
    HMODULE process = GetModuleHandle(NULL);

    Dart_IsErrorFn = (Dart_IsErrorType)GetProcAddress(process, "Dart_IsError");
    Dart_IsApiErrorFn =
        (Dart_IsApiErrorType)GetProcAddress(process, "Dart_IsApiError");
    Dart_IsUnhandledExceptionErrorFn =
        (Dart_IsUnhandledExceptionErrorType)GetProcAddress(
            process, "Dart_IsUnhandledExceptionError");
    Dart_IsCompilationErrorFn = (Dart_IsCompilationErrorType)GetProcAddress(
        process, "Dart_IsCompilationError");
    Dart_IsFatalErrorFn =
        (Dart_IsFatalErrorType)GetProcAddress(process, "Dart_IsFatalError");
    Dart_GetErrorFn =
        (Dart_GetErrorType)GetProcAddress(process, "Dart_GetError");
    Dart_ErrorHasExceptionFn = (Dart_ErrorHasExceptionType)GetProcAddress(
        process, "Dart_ErrorHasException");
    Dart_ErrorGetExceptionFn = (Dart_ErrorGetExceptionType)GetProcAddress(
        process, "Dart_ErrorGetException");
    Dart_ErrorGetStackTraceFn = (Dart_ErrorGetStackTraceType)GetProcAddress(
        process, "Dart_ErrorGetStackTrace");
    Dart_NewApiErrorFn =
        (Dart_NewApiErrorType)GetProcAddress(process, "Dart_NewApiError");
    Dart_NewCompilationErrorFn = (Dart_NewCompilationErrorType)GetProcAddress(
        process, "Dart_NewCompilationError");
    Dart_NewUnhandledExceptionErrorFn =
        (Dart_NewUnhandledExceptionErrorType)GetProcAddress(
            process, "Dart_NewUnhandledExceptionError");
    Dart_PropagateErrorFn =
        (Dart_PropagateErrorType)GetProcAddress(process, "Dart_PropagateError");
    Dart_ToStringFn =
        (Dart_ToStringType)GetProcAddress(process, "Dart_ToString");
    Dart_IdentityEqualsFn =
        (Dart_IdentityEqualsType)GetProcAddress(process, "Dart_IdentityEquals");
    Dart_HandleFromPersistentFn = (Dart_HandleFromPersistentType)GetProcAddress(
        process, "Dart_HandleFromPersistent");
    Dart_HandleFromWeakPersistentFn =
        (Dart_HandleFromWeakPersistentType)GetProcAddress(
            process, "Dart_HandleFromWeakPersistent");
    Dart_NewPersistentHandleFn = (Dart_NewPersistentHandleType)GetProcAddress(
        process, "Dart_NewPersistentHandle");
    Dart_SetPersistentHandleFn = (Dart_SetPersistentHandleType)GetProcAddress(
        process, "Dart_SetPersistentHandle");
    Dart_DeletePersistentHandleFn =
        (Dart_DeletePersistentHandleType)GetProcAddress(
            process, "Dart_DeletePersistentHandle");
    Dart_NewWeakPersistentHandleFn =
        (Dart_NewWeakPersistentHandleType)GetProcAddress(
            process, "Dart_NewWeakPersistentHandle");
    Dart_DeleteWeakPersistentHandleFn =
        (Dart_DeleteWeakPersistentHandleType)GetProcAddress(
            process, "Dart_DeleteWeakPersistentHandle");
    Dart_NewFinalizableHandleFn = (Dart_NewFinalizableHandleType)GetProcAddress(
        process, "Dart_NewFinalizableHandle");
    Dart_DeleteFinalizableHandleFn =
        (Dart_DeleteFinalizableHandleType)GetProcAddress(
            process, "Dart_DeleteFinalizableHandle");
    Dart_VersionStringFn =
        (Dart_VersionStringType)GetProcAddress(process, "Dart_VersionString");
    Dart_IsolateFlagsInitializeFn =
        (Dart_IsolateFlagsInitializeType)GetProcAddress(
            process, "Dart_IsolateFlagsInitialize");
    Dart_InitializeFn =
        (Dart_InitializeType)GetProcAddress(process, "Dart_Initialize");
    Dart_CleanupFn = (Dart_CleanupType)GetProcAddress(process, "Dart_Cleanup");
    Dart_SetVMFlagsFn =
        (Dart_SetVMFlagsType)GetProcAddress(process, "Dart_SetVMFlags");
    Dart_IsVMFlagSetFn =
        (Dart_IsVMFlagSetType)GetProcAddress(process, "Dart_IsVMFlagSet");
    Dart_CreateIsolateGroupFn = (Dart_CreateIsolateGroupType)GetProcAddress(
        process, "Dart_CreateIsolateGroup");
    Dart_CreateIsolateInGroupFn = (Dart_CreateIsolateInGroupType)GetProcAddress(
        process, "Dart_CreateIsolateInGroup");
    Dart_CreateIsolateGroupFromKernelFn =
        (Dart_CreateIsolateGroupFromKernelType)GetProcAddress(
            process, "Dart_CreateIsolateGroupFromKernel");
    Dart_ShutdownIsolateFn = (Dart_ShutdownIsolateType)GetProcAddress(
        process, "Dart_ShutdownIsolate");
    Dart_CurrentIsolateFn =
        (Dart_CurrentIsolateType)GetProcAddress(process, "Dart_CurrentIsolate");
    Dart_CurrentIsolateDataFn = (Dart_CurrentIsolateDataType)GetProcAddress(
        process, "Dart_CurrentIsolateData");
    Dart_IsolateDataFn =
        (Dart_IsolateDataType)GetProcAddress(process, "Dart_IsolateData");
    Dart_CurrentIsolateGroupFn = (Dart_CurrentIsolateGroupType)GetProcAddress(
        process, "Dart_CurrentIsolateGroup");
    Dart_CurrentIsolateGroupDataFn =
        (Dart_CurrentIsolateGroupDataType)GetProcAddress(
            process, "Dart_CurrentIsolateGroupData");
    Dart_CurrentIsolateGroupIdFn =
        (Dart_CurrentIsolateGroupIdType)GetProcAddress(
            process, "Dart_CurrentIsolateGroupId");
    Dart_IsolateGroupDataFn = (Dart_IsolateGroupDataType)GetProcAddress(
        process, "Dart_IsolateGroupData");
    Dart_DebugNameFn =
        (Dart_DebugNameType)GetProcAddress(process, "Dart_DebugName");
    Dart_DebugNameToCStringFn = (Dart_DebugNameToCStringType)GetProcAddress(
        process, "Dart_DebugNameToCString");
    Dart_IsolateServiceIdFn = (Dart_IsolateServiceIdType)GetProcAddress(
        process, "Dart_IsolateServiceId");
    Dart_EnterIsolateFn =
        (Dart_EnterIsolateType)GetProcAddress(process, "Dart_EnterIsolate");
    Dart_KillIsolateFn =
        (Dart_KillIsolateType)GetProcAddress(process, "Dart_KillIsolate");
    Dart_NotifyIdleFn =
        (Dart_NotifyIdleType)GetProcAddress(process, "Dart_NotifyIdle");
    Dart_EnableHeapSamplingFn = (Dart_EnableHeapSamplingType)GetProcAddress(
        process, "Dart_EnableHeapSampling");
    Dart_DisableHeapSamplingFn = (Dart_DisableHeapSamplingType)GetProcAddress(
        process, "Dart_DisableHeapSampling");
    Dart_RegisterHeapSamplingCallbackFn =
        (Dart_RegisterHeapSamplingCallbackType)GetProcAddress(
            process, "Dart_RegisterHeapSamplingCallback");
    Dart_ReportSurvivingAllocationsFn =
        (Dart_ReportSurvivingAllocationsType)GetProcAddress(
            process, "Dart_ReportSurvivingAllocations");
    Dart_SetHeapSamplingPeriodFn =
        (Dart_SetHeapSamplingPeriodType)GetProcAddress(
            process, "Dart_SetHeapSamplingPeriod");
    Dart_NotifyDestroyedFn = (Dart_NotifyDestroyedType)GetProcAddress(
        process, "Dart_NotifyDestroyed");
    Dart_NotifyLowMemoryFn = (Dart_NotifyLowMemoryType)GetProcAddress(
        process, "Dart_NotifyLowMemory");
    Dart_SetPerformanceModeFn = (Dart_SetPerformanceModeType)GetProcAddress(
        process, "Dart_SetPerformanceMode");
    Dart_StartProfilingFn =
        (Dart_StartProfilingType)GetProcAddress(process, "Dart_StartProfiling");
    Dart_StopProfilingFn =
        (Dart_StopProfilingType)GetProcAddress(process, "Dart_StopProfiling");
    Dart_ThreadDisableProfilingFn =
        (Dart_ThreadDisableProfilingType)GetProcAddress(
            process, "Dart_ThreadDisableProfiling");
    Dart_ThreadEnableProfilingFn =
        (Dart_ThreadEnableProfilingType)GetProcAddress(
            process, "Dart_ThreadEnableProfiling");
    Dart_AddSymbolsFn =
        (Dart_AddSymbolsType)GetProcAddress(process, "Dart_AddSymbols");
    Dart_ExitIsolateFn =
        (Dart_ExitIsolateType)GetProcAddress(process, "Dart_ExitIsolate");
    Dart_CreateSnapshotFn =
        (Dart_CreateSnapshotType)GetProcAddress(process, "Dart_CreateSnapshot");
    Dart_IsKernelFn =
        (Dart_IsKernelType)GetProcAddress(process, "Dart_IsKernel");
    Dart_IsBytecodeFn =
        (Dart_IsBytecodeType)GetProcAddress(process, "Dart_IsBytecode");
    Dart_IsolateMakeRunnableFn = (Dart_IsolateMakeRunnableType)GetProcAddress(
        process, "Dart_IsolateMakeRunnable");
    Dart_SetMessageNotifyCallbackFn =
        (Dart_SetMessageNotifyCallbackType)GetProcAddress(
            process, "Dart_SetMessageNotifyCallback");
    Dart_GetMessageNotifyCallbackFn =
        (Dart_GetMessageNotifyCallbackType)GetProcAddress(
            process, "Dart_GetMessageNotifyCallback");
    Dart_ShouldPauseOnStartFn = (Dart_ShouldPauseOnStartType)GetProcAddress(
        process, "Dart_ShouldPauseOnStart");
    Dart_SetShouldPauseOnStartFn =
        (Dart_SetShouldPauseOnStartType)GetProcAddress(
            process, "Dart_SetShouldPauseOnStart");
    Dart_IsPausedOnStartFn = (Dart_IsPausedOnStartType)GetProcAddress(
        process, "Dart_IsPausedOnStart");
    Dart_SetPausedOnStartFn = (Dart_SetPausedOnStartType)GetProcAddress(
        process, "Dart_SetPausedOnStart");
    Dart_ShouldPauseOnExitFn = (Dart_ShouldPauseOnExitType)GetProcAddress(
        process, "Dart_ShouldPauseOnExit");
    Dart_SetShouldPauseOnExitFn = (Dart_SetShouldPauseOnExitType)GetProcAddress(
        process, "Dart_SetShouldPauseOnExit");
    Dart_IsPausedOnExitFn =
        (Dart_IsPausedOnExitType)GetProcAddress(process, "Dart_IsPausedOnExit");
    Dart_SetPausedOnExitFn = (Dart_SetPausedOnExitType)GetProcAddress(
        process, "Dart_SetPausedOnExit");
    Dart_SetStickyErrorFn =
        (Dart_SetStickyErrorType)GetProcAddress(process, "Dart_SetStickyError");
    Dart_HasStickyErrorFn =
        (Dart_HasStickyErrorType)GetProcAddress(process, "Dart_HasStickyError");
    Dart_GetStickyErrorFn =
        (Dart_GetStickyErrorType)GetProcAddress(process, "Dart_GetStickyError");
    Dart_HandleMessageFn =
        (Dart_HandleMessageType)GetProcAddress(process, "Dart_HandleMessage");
    Dart_HandleServiceMessagesFn =
        (Dart_HandleServiceMessagesType)GetProcAddress(
            process, "Dart_HandleServiceMessages");
    Dart_HasServiceMessagesFn = (Dart_HasServiceMessagesType)GetProcAddress(
        process, "Dart_HasServiceMessages");
    Dart_RunLoopFn = (Dart_RunLoopType)GetProcAddress(process, "Dart_RunLoop");
    Dart_RunLoopAsyncFn =
        (Dart_RunLoopAsyncType)GetProcAddress(process, "Dart_RunLoopAsync");
    Dart_GetMainPortIdFn =
        (Dart_GetMainPortIdType)GetProcAddress(process, "Dart_GetMainPortId");
    Dart_HasLivePortsFn =
        (Dart_HasLivePortsType)GetProcAddress(process, "Dart_HasLivePorts");
    Dart_PostFn = (Dart_PostType)GetProcAddress(process, "Dart_Post");
    Dart_NewSendPortFn =
        (Dart_NewSendPortType)GetProcAddress(process, "Dart_NewSendPort");
    Dart_NewSendPortExFn =
        (Dart_NewSendPortExType)GetProcAddress(process, "Dart_NewSendPortEx");
    Dart_SendPortGetIdFn =
        (Dart_SendPortGetIdType)GetProcAddress(process, "Dart_SendPortGetId");
    Dart_SendPortGetIdExFn = (Dart_SendPortGetIdExType)GetProcAddress(
        process, "Dart_SendPortGetIdEx");
    Dart_SetCurrentThreadOwnsIsolateFn =
        (Dart_SetCurrentThreadOwnsIsolateType)GetProcAddress(
            process, "Dart_SetCurrentThreadOwnsIsolate");
    Dart_GetCurrentThreadOwnsIsolateFn =
        (Dart_GetCurrentThreadOwnsIsolateType)GetProcAddress(
            process, "Dart_GetCurrentThreadOwnsIsolate");
    Dart_EnterScopeFn =
        (Dart_EnterScopeType)GetProcAddress(process, "Dart_EnterScope");
    Dart_ExitScopeFn =
        (Dart_ExitScopeType)GetProcAddress(process, "Dart_ExitScope");
    Dart_ScopeAllocateFn =
        (Dart_ScopeAllocateType)GetProcAddress(process, "Dart_ScopeAllocate");
    Dart_NullFn = (Dart_NullType)GetProcAddress(process, "Dart_Null");
    Dart_IsNullFn = (Dart_IsNullType)GetProcAddress(process, "Dart_IsNull");
    Dart_EmptyStringFn =
        (Dart_EmptyStringType)GetProcAddress(process, "Dart_EmptyString");
    Dart_TypeDynamicFn =
        (Dart_TypeDynamicType)GetProcAddress(process, "Dart_TypeDynamic");
    Dart_TypeVoidFn =
        (Dart_TypeVoidType)GetProcAddress(process, "Dart_TypeVoid");
    Dart_TypeNeverFn =
        (Dart_TypeNeverType)GetProcAddress(process, "Dart_TypeNever");
    Dart_TypeStringFn =
        (Dart_TypeStringType)GetProcAddress(process, "Dart_TypeString");
    Dart_TypeDoubleFn =
        (Dart_TypeDoubleType)GetProcAddress(process, "Dart_TypeDouble");
    Dart_TypeIntFn = (Dart_TypeIntType)GetProcAddress(process, "Dart_TypeInt");
    Dart_TypeBooleanFn =
        (Dart_TypeBooleanType)GetProcAddress(process, "Dart_TypeBoolean");
    Dart_TypeObjectFn =
        (Dart_TypeObjectType)GetProcAddress(process, "Dart_TypeObject");
    Dart_ObjectEqualsFn =
        (Dart_ObjectEqualsType)GetProcAddress(process, "Dart_ObjectEquals");
    Dart_ObjectIsTypeFn =
        (Dart_ObjectIsTypeType)GetProcAddress(process, "Dart_ObjectIsType");
    Dart_IsInstanceFn =
        (Dart_IsInstanceType)GetProcAddress(process, "Dart_IsInstance");
    Dart_IsNumberFn =
        (Dart_IsNumberType)GetProcAddress(process, "Dart_IsNumber");
    Dart_IsIntegerFn =
        (Dart_IsIntegerType)GetProcAddress(process, "Dart_IsInteger");
    Dart_IsDoubleFn =
        (Dart_IsDoubleType)GetProcAddress(process, "Dart_IsDouble");
    Dart_IsBooleanFn =
        (Dart_IsBooleanType)GetProcAddress(process, "Dart_IsBoolean");
    Dart_IsStringFn =
        (Dart_IsStringType)GetProcAddress(process, "Dart_IsString");
    Dart_IsStringLatin1Fn =
        (Dart_IsStringLatin1Type)GetProcAddress(process, "Dart_IsStringLatin1");
    Dart_IsListFn = (Dart_IsListType)GetProcAddress(process, "Dart_IsList");
    Dart_IsMapFn = (Dart_IsMapType)GetProcAddress(process, "Dart_IsMap");
    Dart_IsLibraryFn =
        (Dart_IsLibraryType)GetProcAddress(process, "Dart_IsLibrary");
    Dart_IsTypeFn = (Dart_IsTypeType)GetProcAddress(process, "Dart_IsType");
    Dart_IsFunctionFn =
        (Dart_IsFunctionType)GetProcAddress(process, "Dart_IsFunction");
    Dart_IsVariableFn =
        (Dart_IsVariableType)GetProcAddress(process, "Dart_IsVariable");
    Dart_IsTypeVariableFn =
        (Dart_IsTypeVariableType)GetProcAddress(process, "Dart_IsTypeVariable");
    Dart_IsClosureFn =
        (Dart_IsClosureType)GetProcAddress(process, "Dart_IsClosure");
    Dart_IsTypedDataFn =
        (Dart_IsTypedDataType)GetProcAddress(process, "Dart_IsTypedData");
    Dart_IsByteBufferFn =
        (Dart_IsByteBufferType)GetProcAddress(process, "Dart_IsByteBuffer");
    Dart_IsFutureFn =
        (Dart_IsFutureType)GetProcAddress(process, "Dart_IsFuture");
    Dart_InstanceGetTypeFn = (Dart_InstanceGetTypeType)GetProcAddress(
        process, "Dart_InstanceGetType");
    Dart_ClassNameFn =
        (Dart_ClassNameType)GetProcAddress(process, "Dart_ClassName");
    Dart_FunctionNameFn =
        (Dart_FunctionNameType)GetProcAddress(process, "Dart_FunctionName");
    Dart_FunctionOwnerFn =
        (Dart_FunctionOwnerType)GetProcAddress(process, "Dart_FunctionOwner");
    Dart_FunctionIsStaticFn = (Dart_FunctionIsStaticType)GetProcAddress(
        process, "Dart_FunctionIsStatic");
    Dart_IsTearOffFn =
        (Dart_IsTearOffType)GetProcAddress(process, "Dart_IsTearOff");
    Dart_ClosureFunctionFn = (Dart_ClosureFunctionType)GetProcAddress(
        process, "Dart_ClosureFunction");
    Dart_ClassLibraryFn =
        (Dart_ClassLibraryType)GetProcAddress(process, "Dart_ClassLibrary");
    Dart_IntegerFitsIntoInt64Fn = (Dart_IntegerFitsIntoInt64Type)GetProcAddress(
        process, "Dart_IntegerFitsIntoInt64");
    Dart_IntegerFitsIntoUint64Fn =
        (Dart_IntegerFitsIntoUint64Type)GetProcAddress(
            process, "Dart_IntegerFitsIntoUint64");
    Dart_NewIntegerFn =
        (Dart_NewIntegerType)GetProcAddress(process, "Dart_NewInteger");
    Dart_NewIntegerFromUint64Fn = (Dart_NewIntegerFromUint64Type)GetProcAddress(
        process, "Dart_NewIntegerFromUint64");
    Dart_NewIntegerFromHexCStringFn =
        (Dart_NewIntegerFromHexCStringType)GetProcAddress(
            process, "Dart_NewIntegerFromHexCString");
    Dart_IntegerToInt64Fn =
        (Dart_IntegerToInt64Type)GetProcAddress(process, "Dart_IntegerToInt64");
    Dart_IntegerToUint64Fn = (Dart_IntegerToUint64Type)GetProcAddress(
        process, "Dart_IntegerToUint64");
    Dart_IntegerToHexCStringFn = (Dart_IntegerToHexCStringType)GetProcAddress(
        process, "Dart_IntegerToHexCString");
    Dart_NewDoubleFn =
        (Dart_NewDoubleType)GetProcAddress(process, "Dart_NewDouble");
    Dart_DoubleValueFn =
        (Dart_DoubleValueType)GetProcAddress(process, "Dart_DoubleValue");
    Dart_GetStaticMethodClosureFn =
        (Dart_GetStaticMethodClosureType)GetProcAddress(
            process, "Dart_GetStaticMethodClosure");
    Dart_TrueFn = (Dart_TrueType)GetProcAddress(process, "Dart_True");
    Dart_FalseFn = (Dart_FalseType)GetProcAddress(process, "Dart_False");
    Dart_NewBooleanFn =
        (Dart_NewBooleanType)GetProcAddress(process, "Dart_NewBoolean");
    Dart_BooleanValueFn =
        (Dart_BooleanValueType)GetProcAddress(process, "Dart_BooleanValue");
    Dart_StringLengthFn =
        (Dart_StringLengthType)GetProcAddress(process, "Dart_StringLength");
    Dart_StringUTF8LengthFn = (Dart_StringUTF8LengthType)GetProcAddress(
        process, "Dart_StringUTF8Length");
    Dart_NewStringFromCStringFn = (Dart_NewStringFromCStringType)GetProcAddress(
        process, "Dart_NewStringFromCString");
    Dart_NewStringFromUTF8Fn = (Dart_NewStringFromUTF8Type)GetProcAddress(
        process, "Dart_NewStringFromUTF8");
    Dart_NewStringFromUTF16Fn = (Dart_NewStringFromUTF16Type)GetProcAddress(
        process, "Dart_NewStringFromUTF16");
    Dart_NewStringFromUTF32Fn = (Dart_NewStringFromUTF32Type)GetProcAddress(
        process, "Dart_NewStringFromUTF32");
    Dart_StringToCStringFn = (Dart_StringToCStringType)GetProcAddress(
        process, "Dart_StringToCString");
    Dart_StringToUTF8Fn =
        (Dart_StringToUTF8Type)GetProcAddress(process, "Dart_StringToUTF8");
    Dart_CopyUTF8EncodingOfStringFn =
        (Dart_CopyUTF8EncodingOfStringType)GetProcAddress(
            process, "Dart_CopyUTF8EncodingOfString");
    Dart_StringToLatin1Fn =
        (Dart_StringToLatin1Type)GetProcAddress(process, "Dart_StringToLatin1");
    Dart_StringToUTF16Fn =
        (Dart_StringToUTF16Type)GetProcAddress(process, "Dart_StringToUTF16");
    Dart_StringStorageSizeFn = (Dart_StringStorageSizeType)GetProcAddress(
        process, "Dart_StringStorageSize");
    Dart_StringGetPropertiesFn = (Dart_StringGetPropertiesType)GetProcAddress(
        process, "Dart_StringGetProperties");
    Dart_NewListFn = (Dart_NewListType)GetProcAddress(process, "Dart_NewList");
    Dart_NewListOfTypeFn =
        (Dart_NewListOfTypeType)GetProcAddress(process, "Dart_NewListOfType");
    Dart_NewListOfTypeFilledFn = (Dart_NewListOfTypeFilledType)GetProcAddress(
        process, "Dart_NewListOfTypeFilled");
    Dart_ListLengthFn =
        (Dart_ListLengthType)GetProcAddress(process, "Dart_ListLength");
    Dart_ListGetAtFn =
        (Dart_ListGetAtType)GetProcAddress(process, "Dart_ListGetAt");
    Dart_ListGetRangeFn =
        (Dart_ListGetRangeType)GetProcAddress(process, "Dart_ListGetRange");
    Dart_ListSetAtFn =
        (Dart_ListSetAtType)GetProcAddress(process, "Dart_ListSetAt");
    Dart_ListGetAsBytesFn =
        (Dart_ListGetAsBytesType)GetProcAddress(process, "Dart_ListGetAsBytes");
    Dart_ListSetAsBytesFn =
        (Dart_ListSetAsBytesType)GetProcAddress(process, "Dart_ListSetAsBytes");
    Dart_MapGetAtFn =
        (Dart_MapGetAtType)GetProcAddress(process, "Dart_MapGetAt");
    Dart_MapContainsKeyFn =
        (Dart_MapContainsKeyType)GetProcAddress(process, "Dart_MapContainsKey");
    Dart_MapKeysFn = (Dart_MapKeysType)GetProcAddress(process, "Dart_MapKeys");
    Dart_NewMapFn = (Dart_NewMapType)GetProcAddress(process, "Dart_NewMap");
    Dart_GetTypeOfTypedDataFn = (Dart_GetTypeOfTypedDataType)GetProcAddress(
        process, "Dart_GetTypeOfTypedData");
    Dart_GetTypeOfExternalTypedDataFn =
        (Dart_GetTypeOfExternalTypedDataType)GetProcAddress(
            process, "Dart_GetTypeOfExternalTypedData");
    Dart_NewTypedDataFn =
        (Dart_NewTypedDataType)GetProcAddress(process, "Dart_NewTypedData");
    Dart_NewExternalTypedDataFn = (Dart_NewExternalTypedDataType)GetProcAddress(
        process, "Dart_NewExternalTypedData");
    Dart_NewExternalTypedDataWithFinalizerFn =
        (Dart_NewExternalTypedDataWithFinalizerType)GetProcAddress(
            process, "Dart_NewExternalTypedDataWithFinalizer");
    Dart_NewUnmodifiableExternalTypedDataWithFinalizerFn =
        (Dart_NewUnmodifiableExternalTypedDataWithFinalizerType)GetProcAddress(
            process, "Dart_NewUnmodifiableExternalTypedDataWithFinalizer");
    Dart_NewByteBufferFn =
        (Dart_NewByteBufferType)GetProcAddress(process, "Dart_NewByteBuffer");
    Dart_TypedDataAcquireDataFn = (Dart_TypedDataAcquireDataType)GetProcAddress(
        process, "Dart_TypedDataAcquireData");
    Dart_TypedDataReleaseDataFn = (Dart_TypedDataReleaseDataType)GetProcAddress(
        process, "Dart_TypedDataReleaseData");
    Dart_GetDataFromByteBufferFn =
        (Dart_GetDataFromByteBufferType)GetProcAddress(
            process, "Dart_GetDataFromByteBuffer");
    Dart_NewFn = (Dart_NewType)GetProcAddress(process, "Dart_New");
    Dart_AllocateFn =
        (Dart_AllocateType)GetProcAddress(process, "Dart_Allocate");
    Dart_AllocateWithNativeFieldsFn =
        (Dart_AllocateWithNativeFieldsType)GetProcAddress(
            process, "Dart_AllocateWithNativeFields");
    Dart_InvokeFn = (Dart_InvokeType)GetProcAddress(process, "Dart_Invoke");
    Dart_InvokeClosureFn =
        (Dart_InvokeClosureType)GetProcAddress(process, "Dart_InvokeClosure");
    Dart_InvokeConstructorFn = (Dart_InvokeConstructorType)GetProcAddress(
        process, "Dart_InvokeConstructor");
    Dart_GetFieldFn =
        (Dart_GetFieldType)GetProcAddress(process, "Dart_GetField");
    Dart_SetFieldFn =
        (Dart_SetFieldType)GetProcAddress(process, "Dart_SetField");
    Dart_ThrowExceptionFn =
        (Dart_ThrowExceptionType)GetProcAddress(process, "Dart_ThrowException");
    Dart_ReThrowExceptionFn = (Dart_ReThrowExceptionType)GetProcAddress(
        process, "Dart_ReThrowException");
    Dart_GetNativeInstanceFieldCountFn =
        (Dart_GetNativeInstanceFieldCountType)GetProcAddress(
            process, "Dart_GetNativeInstanceFieldCount");
    Dart_GetNativeInstanceFieldFn =
        (Dart_GetNativeInstanceFieldType)GetProcAddress(
            process, "Dart_GetNativeInstanceField");
    Dart_SetNativeInstanceFieldFn =
        (Dart_SetNativeInstanceFieldType)GetProcAddress(
            process, "Dart_SetNativeInstanceField");
    Dart_GetNativeIsolateGroupDataFn =
        (Dart_GetNativeIsolateGroupDataType)GetProcAddress(
            process, "Dart_GetNativeIsolateGroupData");
    Dart_GetNativeArgumentsFn = (Dart_GetNativeArgumentsType)GetProcAddress(
        process, "Dart_GetNativeArguments");
    Dart_GetNativeArgumentFn = (Dart_GetNativeArgumentType)GetProcAddress(
        process, "Dart_GetNativeArgument");
    Dart_GetNativeArgumentCountFn =
        (Dart_GetNativeArgumentCountType)GetProcAddress(
            process, "Dart_GetNativeArgumentCount");
    Dart_GetNativeFieldsOfArgumentFn =
        (Dart_GetNativeFieldsOfArgumentType)GetProcAddress(
            process, "Dart_GetNativeFieldsOfArgument");
    Dart_GetNativeReceiverFn = (Dart_GetNativeReceiverType)GetProcAddress(
        process, "Dart_GetNativeReceiver");
    Dart_GetNativeStringArgumentFn =
        (Dart_GetNativeStringArgumentType)GetProcAddress(
            process, "Dart_GetNativeStringArgument");
    Dart_GetNativeIntegerArgumentFn =
        (Dart_GetNativeIntegerArgumentType)GetProcAddress(
            process, "Dart_GetNativeIntegerArgument");
    Dart_GetNativeBooleanArgumentFn =
        (Dart_GetNativeBooleanArgumentType)GetProcAddress(
            process, "Dart_GetNativeBooleanArgument");
    Dart_GetNativeDoubleArgumentFn =
        (Dart_GetNativeDoubleArgumentType)GetProcAddress(
            process, "Dart_GetNativeDoubleArgument");
    Dart_SetReturnValueFn =
        (Dart_SetReturnValueType)GetProcAddress(process, "Dart_SetReturnValue");
    Dart_SetWeakHandleReturnValueFn =
        (Dart_SetWeakHandleReturnValueType)GetProcAddress(
            process, "Dart_SetWeakHandleReturnValue");
    Dart_SetBooleanReturnValueFn =
        (Dart_SetBooleanReturnValueType)GetProcAddress(
            process, "Dart_SetBooleanReturnValue");
    Dart_SetIntegerReturnValueFn =
        (Dart_SetIntegerReturnValueType)GetProcAddress(
            process, "Dart_SetIntegerReturnValue");
    Dart_SetDoubleReturnValueFn = (Dart_SetDoubleReturnValueType)GetProcAddress(
        process, "Dart_SetDoubleReturnValue");
    Dart_SetEnvironmentCallbackFn =
        (Dart_SetEnvironmentCallbackType)GetProcAddress(
            process, "Dart_SetEnvironmentCallback");
    Dart_SetNativeResolverFn = (Dart_SetNativeResolverType)GetProcAddress(
        process, "Dart_SetNativeResolver");
    Dart_GetNativeResolverFn = (Dart_GetNativeResolverType)GetProcAddress(
        process, "Dart_GetNativeResolver");
    Dart_GetNativeSymbolFn = (Dart_GetNativeSymbolType)GetProcAddress(
        process, "Dart_GetNativeSymbol");
    Dart_SetFfiNativeResolverFn = (Dart_SetFfiNativeResolverType)GetProcAddress(
        process, "Dart_SetFfiNativeResolver");
    Dart_InitializeNativeAssetsResolverFn =
        (Dart_InitializeNativeAssetsResolverType)GetProcAddress(
            process, "Dart_InitializeNativeAssetsResolver");
    Dart_SetLibraryTagHandlerFn = (Dart_SetLibraryTagHandlerType)GetProcAddress(
        process, "Dart_SetLibraryTagHandler");
    Dart_SetDeferredLoadHandlerFn =
        (Dart_SetDeferredLoadHandlerType)GetProcAddress(
            process, "Dart_SetDeferredLoadHandler");
    Dart_DeferredLoadCompleteFn = (Dart_DeferredLoadCompleteType)GetProcAddress(
        process, "Dart_DeferredLoadComplete");
    Dart_DeferredLoadCompleteErrorFn =
        (Dart_DeferredLoadCompleteErrorType)GetProcAddress(
            process, "Dart_DeferredLoadCompleteError");
    Dart_LoadScriptFromKernelFn = (Dart_LoadScriptFromKernelType)GetProcAddress(
        process, "Dart_LoadScriptFromKernel");
    Dart_LoadScriptFromBytecodeFn =
        (Dart_LoadScriptFromBytecodeType)GetProcAddress(
            process, "Dart_LoadScriptFromBytecode");
    Dart_LoadModuleSnapshotFn = (Dart_LoadModuleSnapshotType)GetProcAddress(
        process, "Dart_LoadModuleSnapshot");
    Dart_RootLibraryFn =
        (Dart_RootLibraryType)GetProcAddress(process, "Dart_RootLibrary");
    Dart_SetRootLibraryFn =
        (Dart_SetRootLibraryType)GetProcAddress(process, "Dart_SetRootLibrary");
    Dart_GetTypeFn = (Dart_GetTypeType)GetProcAddress(process, "Dart_GetType");
    Dart_GetNullableTypeFn = (Dart_GetNullableTypeType)GetProcAddress(
        process, "Dart_GetNullableType");
    Dart_GetNonNullableTypeFn = (Dart_GetNonNullableTypeType)GetProcAddress(
        process, "Dart_GetNonNullableType");
    Dart_TypeToNullableTypeFn = (Dart_TypeToNullableTypeType)GetProcAddress(
        process, "Dart_TypeToNullableType");
    Dart_TypeToNonNullableTypeFn =
        (Dart_TypeToNonNullableTypeType)GetProcAddress(
            process, "Dart_TypeToNonNullableType");
    Dart_IsNullableTypeFn =
        (Dart_IsNullableTypeType)GetProcAddress(process, "Dart_IsNullableType");
    Dart_IsNonNullableTypeFn = (Dart_IsNonNullableTypeType)GetProcAddress(
        process, "Dart_IsNonNullableType");
    Dart_GetClassFn =
        (Dart_GetClassType)GetProcAddress(process, "Dart_GetClass");
    Dart_LibraryUrlFn =
        (Dart_LibraryUrlType)GetProcAddress(process, "Dart_LibraryUrl");
    Dart_LibraryResolvedUrlFn = (Dart_LibraryResolvedUrlType)GetProcAddress(
        process, "Dart_LibraryResolvedUrl");
    Dart_GetLoadedLibrariesFn = (Dart_GetLoadedLibrariesType)GetProcAddress(
        process, "Dart_GetLoadedLibraries");
    Dart_LookupLibraryFn =
        (Dart_LookupLibraryType)GetProcAddress(process, "Dart_LookupLibrary");
    Dart_LibraryHandleErrorFn = (Dart_LibraryHandleErrorType)GetProcAddress(
        process, "Dart_LibraryHandleError");
    Dart_LoadLibraryFromKernelFn =
        (Dart_LoadLibraryFromKernelType)GetProcAddress(
            process, "Dart_LoadLibraryFromKernel");
    Dart_LoadLibraryFn =
        (Dart_LoadLibraryType)GetProcAddress(process, "Dart_LoadLibrary");
    Dart_LoadLibraryFromBytecodeFn =
        (Dart_LoadLibraryFromBytecodeType)GetProcAddress(
            process, "Dart_LoadLibraryFromBytecode");
    Dart_FinalizeLoadingFn = (Dart_FinalizeLoadingType)GetProcAddress(
        process, "Dart_FinalizeLoading");
    Dart_GetPeerFn = (Dart_GetPeerType)GetProcAddress(process, "Dart_GetPeer");
    Dart_SetPeerFn = (Dart_SetPeerType)GetProcAddress(process, "Dart_SetPeer");
    Dart_IsKernelIsolateFn = (Dart_IsKernelIsolateType)GetProcAddress(
        process, "Dart_IsKernelIsolate");
    Dart_KernelIsolateIsRunningFn =
        (Dart_KernelIsolateIsRunningType)GetProcAddress(
            process, "Dart_KernelIsolateIsRunning");
    Dart_KernelPortFn =
        (Dart_KernelPortType)GetProcAddress(process, "Dart_KernelPort");
    Dart_CompileToKernelFn = (Dart_CompileToKernelType)GetProcAddress(
        process, "Dart_CompileToKernel");
    Dart_KernelListDependenciesFn =
        (Dart_KernelListDependenciesType)GetProcAddress(
            process, "Dart_KernelListDependencies");
    Dart_SetDartLibrarySourcesKernelFn =
        (Dart_SetDartLibrarySourcesKernelType)GetProcAddress(
            process, "Dart_SetDartLibrarySourcesKernel");
    Dart_DetectNullSafetyFn = (Dart_DetectNullSafetyType)GetProcAddress(
        process, "Dart_DetectNullSafety");
    Dart_IsServiceIsolateFn = (Dart_IsServiceIsolateType)GetProcAddress(
        process, "Dart_IsServiceIsolate");
    Dart_WriteProfileToTimelineFn =
        (Dart_WriteProfileToTimelineType)GetProcAddress(
            process, "Dart_WriteProfileToTimeline");
    Dart_PrecompileFn =
        (Dart_PrecompileType)GetProcAddress(process, "Dart_Precompile");
    Dart_LoadingUnitLibraryUrisFn =
        (Dart_LoadingUnitLibraryUrisType)GetProcAddress(
            process, "Dart_LoadingUnitLibraryUris");
    Dart_CreateAppAOTSnapshotAsAssemblyFn =
        (Dart_CreateAppAOTSnapshotAsAssemblyType)GetProcAddress(
            process, "Dart_CreateAppAOTSnapshotAsAssembly");
    Dart_CreateAppAOTSnapshotAsAssembliesFn =
        (Dart_CreateAppAOTSnapshotAsAssembliesType)GetProcAddress(
            process, "Dart_CreateAppAOTSnapshotAsAssemblies");
    Dart_CreateAppAOTSnapshotAsElfFn =
        (Dart_CreateAppAOTSnapshotAsElfType)GetProcAddress(
            process, "Dart_CreateAppAOTSnapshotAsElf");
    Dart_CreateAppAOTSnapshotAsElfsFn =
        (Dart_CreateAppAOTSnapshotAsElfsType)GetProcAddress(
            process, "Dart_CreateAppAOTSnapshotAsElfs");
    Dart_CreateAppAOTSnapshotAsBinaryFn =
        (Dart_CreateAppAOTSnapshotAsBinaryType)GetProcAddress(
            process, "Dart_CreateAppAOTSnapshotAsBinary");
    Dart_CreateAppAOTSnapshotAndRelocatableObjectFn =
        (Dart_CreateAppAOTSnapshotAndRelocatableObjectType)GetProcAddress(
            process, "Dart_CreateAppAOTSnapshotAndRelocatableObject");
    Dart_WriteCallbackStubFn = (Dart_WriteCallbackStubType)GetProcAddress(
        process, "Dart_WriteCallbackStub");
    Dart_SortClassesFn =
        (Dart_SortClassesType)GetProcAddress(process, "Dart_SortClasses");
    Dart_CreateAppJITSnapshotAsBlobsFn =
        (Dart_CreateAppJITSnapshotAsBlobsType)GetProcAddress(
            process, "Dart_CreateAppJITSnapshotAsBlobs");
    Dart_GetObfuscationMapFn = (Dart_GetObfuscationMapType)GetProcAddress(
        process, "Dart_GetObfuscationMap");
    Dart_IsPrecompiledRuntimeFn = (Dart_IsPrecompiledRuntimeType)GetProcAddress(
        process, "Dart_IsPrecompiledRuntime");
    Dart_DumpNativeStackTraceFn = (Dart_DumpNativeStackTraceType)GetProcAddress(
        process, "Dart_DumpNativeStackTrace");
    Dart_PrepareToAbortFn =
        (Dart_PrepareToAbortType)GetProcAddress(process, "Dart_PrepareToAbort");
    Dart_SetDwarfStackTraceFootnoteCallbackFn =
        (Dart_SetDwarfStackTraceFootnoteCallbackType)GetProcAddress(
            process, "Dart_SetDwarfStackTraceFootnoteCallback");
    Dart_PostCObjectFn =
        (Dart_PostCObjectType)GetProcAddress(process, "Dart_PostCObject");
    Dart_PostIntegerFn =
        (Dart_PostIntegerType)GetProcAddress(process, "Dart_PostInteger");
    Dart_NewNativePortFn =
        (Dart_NewNativePortType)GetProcAddress(process, "Dart_NewNativePort");
    Dart_NewConcurrentNativePortFn =
        (Dart_NewConcurrentNativePortType)GetProcAddress(
            process, "Dart_NewConcurrentNativePort");
    Dart_CloseNativePortFn = (Dart_CloseNativePortType)GetProcAddress(
        process, "Dart_CloseNativePort");
    Dart_CompileAllFn =
        (Dart_CompileAllType)GetProcAddress(process, "Dart_CompileAll");
    Dart_FinalizeAllClassesFn = (Dart_FinalizeAllClassesType)GetProcAddress(
        process, "Dart_FinalizeAllClasses");
    Dart_ExecuteInternalCommandFn =
        (Dart_ExecuteInternalCommandType)GetProcAddress(
            process, "Dart_ExecuteInternalCommand");
  }

  return TRUE;
}

bool Dart_IsError(Dart_Handle handle) {
  return Dart_IsErrorFn(handle);
}

bool Dart_IsApiError(Dart_Handle handle) {
  return Dart_IsApiErrorFn(handle);
}

bool Dart_IsUnhandledExceptionError(Dart_Handle handle) {
  return Dart_IsUnhandledExceptionErrorFn(handle);
}

bool Dart_IsCompilationError(Dart_Handle handle) {
  return Dart_IsCompilationErrorFn(handle);
}

bool Dart_IsFatalError(Dart_Handle handle) {
  return Dart_IsFatalErrorFn(handle);
}

const char* Dart_GetError(Dart_Handle handle) {
  return Dart_GetErrorFn(handle);
}

bool Dart_ErrorHasException(Dart_Handle handle) {
  return Dart_ErrorHasExceptionFn(handle);
}

Dart_Handle Dart_ErrorGetException(Dart_Handle handle) {
  return Dart_ErrorGetExceptionFn(handle);
}

Dart_Handle Dart_ErrorGetStackTrace(Dart_Handle handle) {
  return Dart_ErrorGetStackTraceFn(handle);
}

Dart_Handle Dart_NewApiError(const char* error) {
  return Dart_NewApiErrorFn(error);
}

Dart_Handle Dart_NewCompilationError(const char* error) {
  return Dart_NewCompilationErrorFn(error);
}

Dart_Handle Dart_NewUnhandledExceptionError(Dart_Handle exception) {
  return Dart_NewUnhandledExceptionErrorFn(exception);
}

void Dart_PropagateError(Dart_Handle handle) {
  Dart_PropagateErrorFn(handle);
}

Dart_Handle Dart_ToString(Dart_Handle object) {
  return Dart_ToStringFn(object);
}

bool Dart_IdentityEquals(Dart_Handle obj1, Dart_Handle obj2) {
  return Dart_IdentityEqualsFn(obj1, obj2);
}

Dart_Handle Dart_HandleFromPersistent(Dart_PersistentHandle object) {
  return Dart_HandleFromPersistentFn(object);
}

Dart_Handle Dart_HandleFromWeakPersistent(Dart_WeakPersistentHandle object) {
  return Dart_HandleFromWeakPersistentFn(object);
}

Dart_PersistentHandle Dart_NewPersistentHandle(Dart_Handle object) {
  return Dart_NewPersistentHandleFn(object);
}

void Dart_SetPersistentHandle(Dart_PersistentHandle obj1, Dart_Handle obj2) {
  Dart_SetPersistentHandleFn(obj1, obj2);
}

void Dart_DeletePersistentHandle(Dart_PersistentHandle object) {
  Dart_DeletePersistentHandleFn(object);
}

Dart_WeakPersistentHandle Dart_NewWeakPersistentHandle(
    Dart_Handle object,
    void* peer,
    intptr_t external_allocation_size,
    Dart_HandleFinalizer callback) {
  return Dart_NewWeakPersistentHandleFn(object, peer, external_allocation_size,
                                        callback);
}

void Dart_DeleteWeakPersistentHandle(Dart_WeakPersistentHandle object) {
  Dart_DeleteWeakPersistentHandleFn(object);
}

Dart_FinalizableHandle Dart_NewFinalizableHandle(
    Dart_Handle object,
    void* peer,
    intptr_t external_allocation_size,
    Dart_HandleFinalizer callback) {
  return Dart_NewFinalizableHandleFn(object, peer, external_allocation_size,
                                     callback);
}

void Dart_DeleteFinalizableHandle(Dart_FinalizableHandle object,
                                  Dart_Handle strong_ref_to_object) {
  Dart_DeleteFinalizableHandleFn(object, strong_ref_to_object);
}

const char* Dart_VersionString() {
  return Dart_VersionStringFn();
}

void Dart_IsolateFlagsInitialize(Dart_IsolateFlags* flags) {
  Dart_IsolateFlagsInitializeFn(flags);
}

char* Dart_Initialize(Dart_InitializeParams* params) {
  return Dart_InitializeFn(params);
}

char* Dart_Cleanup() {
  return Dart_CleanupFn();
}

char* Dart_SetVMFlags(int argc, const char** argv) {
  return Dart_SetVMFlagsFn(argc, argv);
}

bool Dart_IsVMFlagSet(const char* flag_name) {
  return Dart_IsVMFlagSetFn(flag_name);
}

Dart_Isolate Dart_CreateIsolateGroup(const char* script_uri,
                                     const char* name,
                                     const uint8_t* snapshot_data,
                                     const uint8_t* snapshot_text,
                                     Dart_IsolateFlags* flags,
                                     void* isolate_group_data,
                                     void* isolate_data,
                                     char** error) {
  return Dart_CreateIsolateGroupFn(script_uri, name, snapshot_data,
                                   snapshot_text, flags, isolate_group_data,
                                   isolate_data, error);
}

Dart_Isolate Dart_CreateIsolateInGroup(
    Dart_Isolate group_member,
    const char* name,
    Dart_IsolateShutdownCallback shutdown_callback,
    Dart_IsolateCleanupCallback cleanup_callback,
    void* child_isolate_data,
    char** error) {
  return Dart_CreateIsolateInGroupFn(group_member, name, shutdown_callback,
                                     cleanup_callback, child_isolate_data,
                                     error);
}

Dart_Isolate Dart_CreateIsolateGroupFromKernel(const char* script_uri,
                                               const char* name,
                                               const uint8_t* kernel_buffer,
                                               intptr_t kernel_buffer_size,
                                               Dart_IsolateFlags* flags,
                                               void* isolate_group_data,
                                               void* isolate_data,
                                               char** error) {
  return Dart_CreateIsolateGroupFromKernelFn(
      script_uri, name, kernel_buffer, kernel_buffer_size, flags,
      isolate_group_data, isolate_data, error);
}

void Dart_ShutdownIsolate() {
  Dart_ShutdownIsolateFn();
}

Dart_Isolate Dart_CurrentIsolate() {
  return Dart_CurrentIsolateFn();
}

void* Dart_CurrentIsolateData() {
  return Dart_CurrentIsolateDataFn();
}

void* Dart_IsolateData(Dart_Isolate isolate) {
  return Dart_IsolateDataFn(isolate);
}

Dart_IsolateGroup Dart_CurrentIsolateGroup() {
  return Dart_CurrentIsolateGroupFn();
}

void* Dart_CurrentIsolateGroupData() {
  return Dart_CurrentIsolateGroupDataFn();
}

Dart_IsolateGroupId Dart_CurrentIsolateGroupId() {
  return Dart_CurrentIsolateGroupIdFn();
}

void* Dart_IsolateGroupData(Dart_Isolate isolate) {
  return Dart_IsolateGroupDataFn(isolate);
}

Dart_Handle Dart_DebugName() {
  return Dart_DebugNameFn();
}

const char* Dart_DebugNameToCString() {
  return Dart_DebugNameToCStringFn();
}

const char* Dart_IsolateServiceId(Dart_Isolate isolate) {
  return Dart_IsolateServiceIdFn(isolate);
}

void Dart_EnterIsolate(Dart_Isolate isolate) {
  Dart_EnterIsolateFn(isolate);
}

void Dart_KillIsolate(Dart_Isolate isolate) {
  Dart_KillIsolateFn(isolate);
}

void Dart_NotifyIdle(int64_t deadline) {
  Dart_NotifyIdleFn(deadline);
}

void Dart_EnableHeapSampling() {
  Dart_EnableHeapSamplingFn();
}

void Dart_DisableHeapSampling() {
  Dart_DisableHeapSamplingFn();
}

void Dart_RegisterHeapSamplingCallback(
    Dart_HeapSamplingCreateCallback create_callback,
    Dart_HeapSamplingDeleteCallback delete_callback) {
  Dart_RegisterHeapSamplingCallbackFn(create_callback, delete_callback);
}

void Dart_ReportSurvivingAllocations(Dart_HeapSamplingReportCallback callback,
                                     void* context,
                                     bool force_gc) {
  Dart_ReportSurvivingAllocationsFn(callback, context, force_gc);
}

void Dart_SetHeapSamplingPeriod(intptr_t bytes) {
  Dart_SetHeapSamplingPeriodFn(bytes);
}

void Dart_NotifyDestroyed() {
  Dart_NotifyDestroyedFn();
}

void Dart_NotifyLowMemory() {
  Dart_NotifyLowMemoryFn();
}

Dart_PerformanceMode Dart_SetPerformanceMode(Dart_PerformanceMode mode) {
  return Dart_SetPerformanceModeFn(mode);
}

void Dart_StartProfiling() {
  Dart_StartProfilingFn();
}

void Dart_StopProfiling() {
  Dart_StopProfilingFn();
}

void Dart_ThreadDisableProfiling() {
  Dart_ThreadDisableProfilingFn();
}

void Dart_ThreadEnableProfiling() {
  Dart_ThreadEnableProfilingFn();
}

void Dart_AddSymbols(const char* dso_name, void* buffer, intptr_t buffer_size) {
  Dart_AddSymbolsFn(dso_name, buffer, buffer_size);
}

void Dart_ExitIsolate() {
  Dart_ExitIsolateFn();
}

Dart_Handle Dart_CreateSnapshot(uint8_t** snapshot_data_buffer,
                                intptr_t* snapshot_data_size) {
  return Dart_CreateSnapshotFn(snapshot_data_buffer, snapshot_data_size);
}

bool Dart_IsKernel(const uint8_t* buffer, intptr_t buffer_size) {
  return Dart_IsKernelFn(buffer, buffer_size);
}

bool Dart_IsBytecode(const uint8_t* buffer, intptr_t buffer_size) {
  return Dart_IsBytecodeFn(buffer, buffer_size);
}

char* Dart_IsolateMakeRunnable(Dart_Isolate isolate) {
  return Dart_IsolateMakeRunnableFn(isolate);
}

void Dart_SetMessageNotifyCallback(
    Dart_MessageNotifyCallback message_notify_callback) {
  Dart_SetMessageNotifyCallbackFn(message_notify_callback);
}

Dart_MessageNotifyCallback Dart_GetMessageNotifyCallback() {
  return Dart_GetMessageNotifyCallbackFn();
}

bool Dart_ShouldPauseOnStart() {
  return Dart_ShouldPauseOnStartFn();
}

void Dart_SetShouldPauseOnStart(bool should_pause) {
  Dart_SetShouldPauseOnStartFn(should_pause);
}

bool Dart_IsPausedOnStart() {
  return Dart_IsPausedOnStartFn();
}

void Dart_SetPausedOnStart(bool paused) {
  Dart_SetPausedOnStartFn(paused);
}

bool Dart_ShouldPauseOnExit() {
  return Dart_ShouldPauseOnExitFn();
}

void Dart_SetShouldPauseOnExit(bool should_pause) {
  Dart_SetShouldPauseOnExitFn(should_pause);
}

bool Dart_IsPausedOnExit() {
  return Dart_IsPausedOnExitFn();
}

void Dart_SetPausedOnExit(bool paused) {
  Dart_SetPausedOnExitFn(paused);
}

void Dart_SetStickyError(Dart_Handle error) {
  Dart_SetStickyErrorFn(error);
}

bool Dart_HasStickyError() {
  return Dart_HasStickyErrorFn();
}

Dart_Handle Dart_GetStickyError() {
  return Dart_GetStickyErrorFn();
}

Dart_Handle Dart_HandleMessage() {
  return Dart_HandleMessageFn();
}

bool Dart_HandleServiceMessages() {
  return Dart_HandleServiceMessagesFn();
}

bool Dart_HasServiceMessages() {
  return Dart_HasServiceMessagesFn();
}

Dart_Handle Dart_RunLoop() {
  return Dart_RunLoopFn();
}

bool Dart_RunLoopAsync(bool errors_are_fatal,
                       Dart_Port on_error_port,
                       Dart_Port on_exit_port,
                       char** error) {
  return Dart_RunLoopAsyncFn(errors_are_fatal, on_error_port, on_exit_port,
                             error);
}

Dart_Port Dart_GetMainPortId() {
  return Dart_GetMainPortIdFn();
}

bool Dart_HasLivePorts() {
  return Dart_HasLivePortsFn();
}

bool Dart_Post(Dart_Port port_id, Dart_Handle object) {
  return Dart_PostFn(port_id, object);
}

Dart_Handle Dart_NewSendPort(Dart_Port port_id) {
  return Dart_NewSendPortFn(port_id);
}

Dart_Handle Dart_NewSendPortEx(Dart_PortEx portex_id) {
  return Dart_NewSendPortExFn(portex_id);
}

Dart_Handle Dart_SendPortGetId(Dart_Handle port, Dart_Port* port_id) {
  return Dart_SendPortGetIdFn(port, port_id);
}

Dart_Handle Dart_SendPortGetIdEx(Dart_Handle port, Dart_PortEx* portex_id) {
  return Dart_SendPortGetIdExFn(port, portex_id);
}

void Dart_SetCurrentThreadOwnsIsolate() {
  Dart_SetCurrentThreadOwnsIsolateFn();
}

bool Dart_GetCurrentThreadOwnsIsolate(Dart_Port port) {
  return Dart_GetCurrentThreadOwnsIsolateFn(port);
}

void Dart_EnterScope() {
  Dart_EnterScopeFn();
}

void Dart_ExitScope() {
  Dart_ExitScopeFn();
}

uint8_t* Dart_ScopeAllocate(intptr_t size) {
  return Dart_ScopeAllocateFn(size);
}

Dart_Handle Dart_Null() {
  return Dart_NullFn();
}

bool Dart_IsNull(Dart_Handle object) {
  return Dart_IsNullFn(object);
}

Dart_Handle Dart_EmptyString() {
  return Dart_EmptyStringFn();
}

Dart_Handle Dart_TypeDynamic() {
  return Dart_TypeDynamicFn();
}

Dart_Handle Dart_TypeVoid() {
  return Dart_TypeVoidFn();
}

Dart_Handle Dart_TypeNever() {
  return Dart_TypeNeverFn();
}

Dart_Handle Dart_TypeString() {
  return Dart_TypeStringFn();
}

Dart_Handle Dart_TypeDouble() {
  return Dart_TypeDoubleFn();
}

Dart_Handle Dart_TypeInt() {
  return Dart_TypeIntFn();
}

Dart_Handle Dart_TypeBoolean() {
  return Dart_TypeBooleanFn();
}

Dart_Handle Dart_TypeObject() {
  return Dart_TypeObjectFn();
}

Dart_Handle Dart_ObjectEquals(Dart_Handle obj1, Dart_Handle obj2, bool* equal) {
  return Dart_ObjectEqualsFn(obj1, obj2, equal);
}

Dart_Handle Dart_ObjectIsType(Dart_Handle object,
                              Dart_Handle type,
                              bool* instanceof) {
  return Dart_ObjectIsTypeFn(object, type, instanceof);
}

bool Dart_IsInstance(Dart_Handle object) {
  return Dart_IsInstanceFn(object);
}

bool Dart_IsNumber(Dart_Handle object) {
  return Dart_IsNumberFn(object);
}

bool Dart_IsInteger(Dart_Handle object) {
  return Dart_IsIntegerFn(object);
}

bool Dart_IsDouble(Dart_Handle object) {
  return Dart_IsDoubleFn(object);
}

bool Dart_IsBoolean(Dart_Handle object) {
  return Dart_IsBooleanFn(object);
}

bool Dart_IsString(Dart_Handle object) {
  return Dart_IsStringFn(object);
}

bool Dart_IsStringLatin1(Dart_Handle object) {
  return Dart_IsStringLatin1Fn(object);
}

bool Dart_IsList(Dart_Handle object) {
  return Dart_IsListFn(object);
}

bool Dart_IsMap(Dart_Handle object) {
  return Dart_IsMapFn(object);
}

bool Dart_IsLibrary(Dart_Handle object) {
  return Dart_IsLibraryFn(object);
}

bool Dart_IsType(Dart_Handle handle) {
  return Dart_IsTypeFn(handle);
}

bool Dart_IsFunction(Dart_Handle handle) {
  return Dart_IsFunctionFn(handle);
}

bool Dart_IsVariable(Dart_Handle handle) {
  return Dart_IsVariableFn(handle);
}

bool Dart_IsTypeVariable(Dart_Handle handle) {
  return Dart_IsTypeVariableFn(handle);
}

bool Dart_IsClosure(Dart_Handle object) {
  return Dart_IsClosureFn(object);
}

bool Dart_IsTypedData(Dart_Handle object) {
  return Dart_IsTypedDataFn(object);
}

bool Dart_IsByteBuffer(Dart_Handle object) {
  return Dart_IsByteBufferFn(object);
}

bool Dart_IsFuture(Dart_Handle object) {
  return Dart_IsFutureFn(object);
}

Dart_Handle Dart_InstanceGetType(Dart_Handle instance) {
  return Dart_InstanceGetTypeFn(instance);
}

Dart_Handle Dart_ClassName(Dart_Handle cls_type) {
  return Dart_ClassNameFn(cls_type);
}

Dart_Handle Dart_FunctionName(Dart_Handle function) {
  return Dart_FunctionNameFn(function);
}

Dart_Handle Dart_FunctionOwner(Dart_Handle function) {
  return Dart_FunctionOwnerFn(function);
}

Dart_Handle Dart_FunctionIsStatic(Dart_Handle function, bool* is_static) {
  return Dart_FunctionIsStaticFn(function, is_static);
}

bool Dart_IsTearOff(Dart_Handle object) {
  return Dart_IsTearOffFn(object);
}

Dart_Handle Dart_ClosureFunction(Dart_Handle closure) {
  return Dart_ClosureFunctionFn(closure);
}

Dart_Handle Dart_ClassLibrary(Dart_Handle cls_type) {
  return Dart_ClassLibraryFn(cls_type);
}

Dart_Handle Dart_IntegerFitsIntoInt64(Dart_Handle integer, bool* fits) {
  return Dart_IntegerFitsIntoInt64Fn(integer, fits);
}

Dart_Handle Dart_IntegerFitsIntoUint64(Dart_Handle integer, bool* fits) {
  return Dart_IntegerFitsIntoUint64Fn(integer, fits);
}

Dart_Handle Dart_NewInteger(int64_t value) {
  return Dart_NewIntegerFn(value);
}

Dart_Handle Dart_NewIntegerFromUint64(uint64_t value) {
  return Dart_NewIntegerFromUint64Fn(value);
}

Dart_Handle Dart_NewIntegerFromHexCString(const char* value) {
  return Dart_NewIntegerFromHexCStringFn(value);
}

Dart_Handle Dart_IntegerToInt64(Dart_Handle integer, int64_t* value) {
  return Dart_IntegerToInt64Fn(integer, value);
}

Dart_Handle Dart_IntegerToUint64(Dart_Handle integer, uint64_t* value) {
  return Dart_IntegerToUint64Fn(integer, value);
}

Dart_Handle Dart_IntegerToHexCString(Dart_Handle integer, const char** value) {
  return Dart_IntegerToHexCStringFn(integer, value);
}

Dart_Handle Dart_NewDouble(double value) {
  return Dart_NewDoubleFn(value);
}

Dart_Handle Dart_DoubleValue(Dart_Handle double_obj, double* value) {
  return Dart_DoubleValueFn(double_obj, value);
}

Dart_Handle Dart_GetStaticMethodClosure(Dart_Handle library,
                                        Dart_Handle cls_type,
                                        Dart_Handle function_name) {
  return Dart_GetStaticMethodClosureFn(library, cls_type, function_name);
}

Dart_Handle Dart_True() {
  return Dart_TrueFn();
}

Dart_Handle Dart_False() {
  return Dart_FalseFn();
}

Dart_Handle Dart_NewBoolean(bool value) {
  return Dart_NewBooleanFn(value);
}

Dart_Handle Dart_BooleanValue(Dart_Handle boolean_obj, bool* value) {
  return Dart_BooleanValueFn(boolean_obj, value);
}

Dart_Handle Dart_StringLength(Dart_Handle str, intptr_t* length) {
  return Dart_StringLengthFn(str, length);
}

Dart_Handle Dart_StringUTF8Length(Dart_Handle str, intptr_t* length) {
  return Dart_StringUTF8LengthFn(str, length);
}

Dart_Handle Dart_NewStringFromCString(const char* str) {
  return Dart_NewStringFromCStringFn(str);
}

Dart_Handle Dart_NewStringFromUTF8(const uint8_t* utf8_array, intptr_t length) {
  return Dart_NewStringFromUTF8Fn(utf8_array, length);
}

Dart_Handle Dart_NewStringFromUTF16(const uint16_t* utf16_array,
                                    intptr_t length) {
  return Dart_NewStringFromUTF16Fn(utf16_array, length);
}

Dart_Handle Dart_NewStringFromUTF32(const int32_t* utf32_array,
                                    intptr_t length) {
  return Dart_NewStringFromUTF32Fn(utf32_array, length);
}

Dart_Handle Dart_StringToCString(Dart_Handle str, const char** cstr) {
  return Dart_StringToCStringFn(str, cstr);
}

Dart_Handle Dart_StringToUTF8(Dart_Handle str,
                              uint8_t** utf8_array,
                              intptr_t* length) {
  return Dart_StringToUTF8Fn(str, utf8_array, length);
}

Dart_Handle Dart_CopyUTF8EncodingOfString(Dart_Handle str,
                                          uint8_t* utf8_array,
                                          intptr_t length) {
  return Dart_CopyUTF8EncodingOfStringFn(str, utf8_array, length);
}

Dart_Handle Dart_StringToLatin1(Dart_Handle str,
                                uint8_t* latin1_array,
                                intptr_t* length) {
  return Dart_StringToLatin1Fn(str, latin1_array, length);
}

Dart_Handle Dart_StringToUTF16(Dart_Handle str,
                               uint16_t* utf16_array,
                               intptr_t* length) {
  return Dart_StringToUTF16Fn(str, utf16_array, length);
}

Dart_Handle Dart_StringStorageSize(Dart_Handle str, intptr_t* size) {
  return Dart_StringStorageSizeFn(str, size);
}

Dart_Handle Dart_StringGetProperties(Dart_Handle str,
                                     intptr_t* char_size,
                                     intptr_t* str_len,
                                     void** peer) {
  return Dart_StringGetPropertiesFn(str, char_size, str_len, peer);
}

Dart_Handle Dart_NewList(intptr_t length) {
  return Dart_NewListFn(length);
}

Dart_Handle Dart_NewListOfType(Dart_Handle element_type, intptr_t length) {
  return Dart_NewListOfTypeFn(element_type, length);
}

Dart_Handle Dart_NewListOfTypeFilled(Dart_Handle element_type,
                                     Dart_Handle fill_object,
                                     intptr_t length) {
  return Dart_NewListOfTypeFilledFn(element_type, fill_object, length);
}

Dart_Handle Dart_ListLength(Dart_Handle list, intptr_t* length) {
  return Dart_ListLengthFn(list, length);
}

Dart_Handle Dart_ListGetAt(Dart_Handle list, intptr_t index) {
  return Dart_ListGetAtFn(list, index);
}

Dart_Handle Dart_ListGetRange(Dart_Handle list,
                              intptr_t offset,
                              intptr_t length,
                              Dart_Handle* result) {
  return Dart_ListGetRangeFn(list, offset, length, result);
}

Dart_Handle Dart_ListSetAt(Dart_Handle list,
                           intptr_t index,
                           Dart_Handle value) {
  return Dart_ListSetAtFn(list, index, value);
}

Dart_Handle Dart_ListGetAsBytes(Dart_Handle list,
                                intptr_t offset,
                                uint8_t* native_array,
                                intptr_t length) {
  return Dart_ListGetAsBytesFn(list, offset, native_array, length);
}

Dart_Handle Dart_ListSetAsBytes(Dart_Handle list,
                                intptr_t offset,
                                const uint8_t* native_array,
                                intptr_t length) {
  return Dart_ListSetAsBytesFn(list, offset, native_array, length);
}

Dart_Handle Dart_MapGetAt(Dart_Handle map, Dart_Handle key) {
  return Dart_MapGetAtFn(map, key);
}

Dart_Handle Dart_MapContainsKey(Dart_Handle map, Dart_Handle key) {
  return Dart_MapContainsKeyFn(map, key);
}

Dart_Handle Dart_MapKeys(Dart_Handle map) {
  return Dart_MapKeysFn(map);
}

Dart_Handle Dart_NewMap(Dart_Handle keys_type,
                        Dart_Handle keys_handle,
                        Dart_Handle values_type,
                        Dart_Handle values_handle) {
  return Dart_NewMapFn(keys_type, keys_handle, values_type, values_handle);
}

Dart_TypedData_Type Dart_GetTypeOfTypedData(Dart_Handle object) {
  return Dart_GetTypeOfTypedDataFn(object);
}

Dart_TypedData_Type Dart_GetTypeOfExternalTypedData(Dart_Handle object) {
  return Dart_GetTypeOfExternalTypedDataFn(object);
}

Dart_Handle Dart_NewTypedData(Dart_TypedData_Type type, intptr_t length) {
  return Dart_NewTypedDataFn(type, length);
}

Dart_Handle Dart_NewExternalTypedData(Dart_TypedData_Type type,
                                      void* data,
                                      intptr_t length) {
  return Dart_NewExternalTypedDataFn(type, data, length);
}

Dart_Handle Dart_NewExternalTypedDataWithFinalizer(
    Dart_TypedData_Type type,
    void* data,
    intptr_t length,
    void* peer,
    intptr_t external_allocation_size,
    Dart_HandleFinalizer callback) {
  return Dart_NewExternalTypedDataWithFinalizerFn(
      type, data, length, peer, external_allocation_size, callback);
}

Dart_Handle Dart_NewUnmodifiableExternalTypedDataWithFinalizer(
    Dart_TypedData_Type type,
    const void* data,
    intptr_t length,
    void* peer,
    intptr_t external_allocation_size,
    Dart_HandleFinalizer callback) {
  return Dart_NewUnmodifiableExternalTypedDataWithFinalizerFn(
      type, data, length, peer, external_allocation_size, callback);
}

Dart_Handle Dart_NewByteBuffer(Dart_Handle typed_data) {
  return Dart_NewByteBufferFn(typed_data);
}

Dart_Handle Dart_TypedDataAcquireData(Dart_Handle object,
                                      Dart_TypedData_Type* type,
                                      void** data,
                                      intptr_t* len) {
  return Dart_TypedDataAcquireDataFn(object, type, data, len);
}

Dart_Handle Dart_TypedDataReleaseData(Dart_Handle object) {
  return Dart_TypedDataReleaseDataFn(object);
}

Dart_Handle Dart_GetDataFromByteBuffer(Dart_Handle byte_buffer) {
  return Dart_GetDataFromByteBufferFn(byte_buffer);
}

Dart_Handle Dart_New(Dart_Handle type,
                     Dart_Handle constructor_name,
                     int number_of_arguments,
                     Dart_Handle* arguments) {
  return Dart_NewFn(type, constructor_name, number_of_arguments, arguments);
}

Dart_Handle Dart_Allocate(Dart_Handle type) {
  return Dart_AllocateFn(type);
}

Dart_Handle Dart_AllocateWithNativeFields(Dart_Handle type,
                                          intptr_t num_native_fields,
                                          const intptr_t* native_fields) {
  return Dart_AllocateWithNativeFieldsFn(type, num_native_fields,
                                         native_fields);
}

Dart_Handle Dart_Invoke(Dart_Handle target,
                        Dart_Handle name,
                        int number_of_arguments,
                        Dart_Handle* arguments) {
  return Dart_InvokeFn(target, name, number_of_arguments, arguments);
}

Dart_Handle Dart_InvokeClosure(Dart_Handle closure,
                               int number_of_arguments,
                               Dart_Handle* arguments) {
  return Dart_InvokeClosureFn(closure, number_of_arguments, arguments);
}

Dart_Handle Dart_InvokeConstructor(Dart_Handle object,
                                   Dart_Handle name,
                                   int number_of_arguments,
                                   Dart_Handle* arguments) {
  return Dart_InvokeConstructorFn(object, name, number_of_arguments, arguments);
}

Dart_Handle Dart_GetField(Dart_Handle container, Dart_Handle name) {
  return Dart_GetFieldFn(container, name);
}

Dart_Handle Dart_SetField(Dart_Handle container,
                          Dart_Handle name,
                          Dart_Handle value) {
  return Dart_SetFieldFn(container, name, value);
}

Dart_Handle Dart_ThrowException(Dart_Handle exception) {
  return Dart_ThrowExceptionFn(exception);
}

Dart_Handle Dart_ReThrowException(Dart_Handle exception,
                                  Dart_Handle stacktrace) {
  return Dart_ReThrowExceptionFn(exception, stacktrace);
}

Dart_Handle Dart_GetNativeInstanceFieldCount(Dart_Handle obj, int* count) {
  return Dart_GetNativeInstanceFieldCountFn(obj, count);
}

Dart_Handle Dart_GetNativeInstanceField(Dart_Handle obj,
                                        int index,
                                        intptr_t* value) {
  return Dart_GetNativeInstanceFieldFn(obj, index, value);
}

Dart_Handle Dart_SetNativeInstanceField(Dart_Handle obj,
                                        int index,
                                        intptr_t value) {
  return Dart_SetNativeInstanceFieldFn(obj, index, value);
}

void* Dart_GetNativeIsolateGroupData(Dart_NativeArguments args) {
  return Dart_GetNativeIsolateGroupDataFn(args);
}

Dart_Handle Dart_GetNativeArguments(
    Dart_NativeArguments args,
    int num_arguments,
    const Dart_NativeArgument_Descriptor* arg_descriptors,
    Dart_NativeArgument_Value* arg_values) {
  return Dart_GetNativeArgumentsFn(args, num_arguments, arg_descriptors,
                                   arg_values);
}

Dart_Handle Dart_GetNativeArgument(Dart_NativeArguments args, int index) {
  return Dart_GetNativeArgumentFn(args, index);
}

int Dart_GetNativeArgumentCount(Dart_NativeArguments args) {
  return Dart_GetNativeArgumentCountFn(args);
}

Dart_Handle Dart_GetNativeFieldsOfArgument(Dart_NativeArguments args,
                                           int arg_index,
                                           int num_fields,
                                           intptr_t* field_values) {
  return Dart_GetNativeFieldsOfArgumentFn(args, arg_index, num_fields,
                                          field_values);
}

Dart_Handle Dart_GetNativeReceiver(Dart_NativeArguments args, intptr_t* value) {
  return Dart_GetNativeReceiverFn(args, value);
}

Dart_Handle Dart_GetNativeStringArgument(Dart_NativeArguments args,
                                         int arg_index,
                                         void** peer) {
  return Dart_GetNativeStringArgumentFn(args, arg_index, peer);
}

Dart_Handle Dart_GetNativeIntegerArgument(Dart_NativeArguments args,
                                          int index,
                                          int64_t* value) {
  return Dart_GetNativeIntegerArgumentFn(args, index, value);
}

Dart_Handle Dart_GetNativeBooleanArgument(Dart_NativeArguments args,
                                          int index,
                                          bool* value) {
  return Dart_GetNativeBooleanArgumentFn(args, index, value);
}

Dart_Handle Dart_GetNativeDoubleArgument(Dart_NativeArguments args,
                                         int index,
                                         double* value) {
  return Dart_GetNativeDoubleArgumentFn(args, index, value);
}

void Dart_SetReturnValue(Dart_NativeArguments args, Dart_Handle retval) {
  Dart_SetReturnValueFn(args, retval);
}

void Dart_SetWeakHandleReturnValue(Dart_NativeArguments args,
                                   Dart_WeakPersistentHandle rval) {
  Dart_SetWeakHandleReturnValueFn(args, rval);
}

void Dart_SetBooleanReturnValue(Dart_NativeArguments args, bool retval) {
  Dart_SetBooleanReturnValueFn(args, retval);
}

void Dart_SetIntegerReturnValue(Dart_NativeArguments args, int64_t retval) {
  Dart_SetIntegerReturnValueFn(args, retval);
}

void Dart_SetDoubleReturnValue(Dart_NativeArguments args, double retval) {
  Dart_SetDoubleReturnValueFn(args, retval);
}

Dart_Handle Dart_SetEnvironmentCallback(Dart_EnvironmentCallback callback) {
  return Dart_SetEnvironmentCallbackFn(callback);
}

Dart_Handle Dart_SetNativeResolver(Dart_Handle library,
                                   Dart_NativeEntryResolver resolver,
                                   Dart_NativeEntrySymbol symbol) {
  return Dart_SetNativeResolverFn(library, resolver, symbol);
}

Dart_Handle Dart_GetNativeResolver(Dart_Handle library,
                                   Dart_NativeEntryResolver* resolver) {
  return Dart_GetNativeResolverFn(library, resolver);
}

Dart_Handle Dart_GetNativeSymbol(Dart_Handle library,
                                 Dart_NativeEntrySymbol* resolver) {
  return Dart_GetNativeSymbolFn(library, resolver);
}

Dart_Handle Dart_SetFfiNativeResolver(Dart_Handle library,
                                      Dart_FfiNativeResolver resolver) {
  return Dart_SetFfiNativeResolverFn(library, resolver);
}

void Dart_InitializeNativeAssetsResolver(NativeAssetsApi* native_assets_api) {
  Dart_InitializeNativeAssetsResolverFn(native_assets_api);
}

Dart_Handle Dart_SetLibraryTagHandler(Dart_LibraryTagHandler handler) {
  return Dart_SetLibraryTagHandlerFn(handler);
}

Dart_Handle Dart_SetDeferredLoadHandler(Dart_DeferredLoadHandler handler) {
  return Dart_SetDeferredLoadHandlerFn(handler);
}

Dart_Handle Dart_DeferredLoadComplete(intptr_t loading_unit_id,
                                      const uint8_t* snapshot_data,
                                      const uint8_t* snapshot_text) {
  return Dart_DeferredLoadCompleteFn(loading_unit_id, snapshot_data,
                                     snapshot_text);
}

Dart_Handle Dart_DeferredLoadCompleteError(intptr_t loading_unit_id,
                                           const char* error_message,
                                           bool transient) {
  return Dart_DeferredLoadCompleteErrorFn(loading_unit_id, error_message,
                                          transient);
}

Dart_Handle Dart_LoadScriptFromKernel(const uint8_t* kernel_buffer,
                                      intptr_t kernel_size) {
  return Dart_LoadScriptFromKernelFn(kernel_buffer, kernel_size);
}

Dart_Handle Dart_LoadScriptFromBytecode(const uint8_t* kernel_buffer,
                                        intptr_t kernel_size) {
  return Dart_LoadScriptFromBytecodeFn(kernel_buffer, kernel_size);
}

Dart_Handle Dart_LoadModuleSnapshot(const uint8_t* snapshot_data,
                                    const uint8_t* snapshot_text) {
  return Dart_LoadModuleSnapshotFn(snapshot_data, snapshot_text);
}

Dart_Handle Dart_RootLibrary() {
  return Dart_RootLibraryFn();
}

Dart_Handle Dart_SetRootLibrary(Dart_Handle library) {
  return Dart_SetRootLibraryFn(library);
}

Dart_Handle Dart_GetType(Dart_Handle library,
                         Dart_Handle class_name,
                         intptr_t number_of_type_arguments,
                         Dart_Handle* type_arguments) {
  return Dart_GetTypeFn(library, class_name, number_of_type_arguments,
                        type_arguments);
}

Dart_Handle Dart_GetNullableType(Dart_Handle library,
                                 Dart_Handle class_name,
                                 intptr_t number_of_type_arguments,
                                 Dart_Handle* type_arguments) {
  return Dart_GetNullableTypeFn(library, class_name, number_of_type_arguments,
                                type_arguments);
}

Dart_Handle Dart_GetNonNullableType(Dart_Handle library,
                                    Dart_Handle class_name,
                                    intptr_t number_of_type_arguments,
                                    Dart_Handle* type_arguments) {
  return Dart_GetNonNullableTypeFn(library, class_name,
                                   number_of_type_arguments, type_arguments);
}

Dart_Handle Dart_TypeToNullableType(Dart_Handle type) {
  return Dart_TypeToNullableTypeFn(type);
}

Dart_Handle Dart_TypeToNonNullableType(Dart_Handle type) {
  return Dart_TypeToNonNullableTypeFn(type);
}

Dart_Handle Dart_IsNullableType(Dart_Handle type, bool* result) {
  return Dart_IsNullableTypeFn(type, result);
}

Dart_Handle Dart_IsNonNullableType(Dart_Handle type, bool* result) {
  return Dart_IsNonNullableTypeFn(type, result);
}

Dart_Handle Dart_GetClass(Dart_Handle library, Dart_Handle class_name) {
  return Dart_GetClassFn(library, class_name);
}

Dart_Handle Dart_LibraryUrl(Dart_Handle library) {
  return Dart_LibraryUrlFn(library);
}

Dart_Handle Dart_LibraryResolvedUrl(Dart_Handle library) {
  return Dart_LibraryResolvedUrlFn(library);
}

Dart_Handle Dart_GetLoadedLibraries() {
  return Dart_GetLoadedLibrariesFn();
}

Dart_Handle Dart_LookupLibrary(Dart_Handle url) {
  return Dart_LookupLibraryFn(url);
}

Dart_Handle Dart_LibraryHandleError(Dart_Handle library, Dart_Handle error) {
  return Dart_LibraryHandleErrorFn(library, error);
}

Dart_Handle Dart_LoadLibraryFromKernel(const uint8_t* kernel_buffer,
                                       intptr_t kernel_buffer_size) {
  return Dart_LoadLibraryFromKernelFn(kernel_buffer, kernel_buffer_size);
}

Dart_Handle Dart_LoadLibrary(Dart_Handle kernel_buffer) {
  return Dart_LoadLibraryFn(kernel_buffer);
}

Dart_Handle Dart_LoadLibraryFromBytecode(Dart_Handle bytecode_buffer) {
  return Dart_LoadLibraryFromBytecodeFn(bytecode_buffer);
}

Dart_Handle Dart_FinalizeLoading(bool complete_futures) {
  return Dart_FinalizeLoadingFn(complete_futures);
}

Dart_Handle Dart_GetPeer(Dart_Handle object, void** peer) {
  return Dart_GetPeerFn(object, peer);
}

Dart_Handle Dart_SetPeer(Dart_Handle object, void* peer) {
  return Dart_SetPeerFn(object, peer);
}

bool Dart_IsKernelIsolate(Dart_Isolate isolate) {
  return Dart_IsKernelIsolateFn(isolate);
}

bool Dart_KernelIsolateIsRunning() {
  return Dart_KernelIsolateIsRunningFn();
}

Dart_Port Dart_KernelPort() {
  return Dart_KernelPortFn();
}

Dart_KernelCompilationResult Dart_CompileToKernel(
    const char* script_uri,
    const uint8_t* platform_kernel,
    const intptr_t platform_kernel_size,
    bool incremental_compile,
    bool snapshot_compile,
    bool embed_sources,
    const char* package_config,
    Dart_KernelCompilationVerbosityLevel verbosity) {
  return Dart_CompileToKernelFn(
      script_uri, platform_kernel, platform_kernel_size, incremental_compile,
      snapshot_compile, embed_sources, package_config, verbosity);
}

Dart_KernelCompilationResult Dart_KernelListDependencies() {
  return Dart_KernelListDependenciesFn();
}

void Dart_SetDartLibrarySourcesKernel(const uint8_t* platform_kernel,
                                      const intptr_t platform_kernel_size) {
  Dart_SetDartLibrarySourcesKernelFn(platform_kernel, platform_kernel_size);
}

bool Dart_DetectNullSafety(const char* script_uri,
                           const char* package_config,
                           const char* original_working_directory,
                           const uint8_t* snapshot_data,
                           const uint8_t* snapshot_text,
                           const uint8_t* kernel_buffer,
                           intptr_t kernel_buffer_size) {
  return Dart_DetectNullSafetyFn(
      script_uri, package_config, original_working_directory, snapshot_data,
      snapshot_text, kernel_buffer, kernel_buffer_size);
}

bool Dart_IsServiceIsolate(Dart_Isolate isolate) {
  return Dart_IsServiceIsolateFn(isolate);
}

bool Dart_WriteProfileToTimeline(Dart_Port main_port, char** error) {
  return Dart_WriteProfileToTimelineFn(main_port, error);
}

Dart_Handle Dart_Precompile() {
  return Dart_PrecompileFn();
}

Dart_Handle Dart_LoadingUnitLibraryUris(intptr_t loading_unit_id) {
  return Dart_LoadingUnitLibraryUrisFn(loading_unit_id);
}

Dart_Handle Dart_CreateAppAOTSnapshotAsAssembly(
    Dart_StreamingWriteCallback callback,
    void* callback_data,
    bool stripped,
    void* debug_callback_data) {
  return Dart_CreateAppAOTSnapshotAsAssemblyFn(callback, callback_data,
                                               stripped, debug_callback_data);
}

Dart_Handle Dart_CreateAppAOTSnapshotAsAssemblies(
    Dart_CreateLoadingUnitCallback next_callback,
    void* next_callback_data,
    bool stripped,
    Dart_StreamingWriteCallback write_callback,
    Dart_StreamingCloseCallback close_callback) {
  return Dart_CreateAppAOTSnapshotAsAssembliesFn(
      next_callback, next_callback_data, stripped, write_callback,
      close_callback);
}

Dart_Handle Dart_CreateAppAOTSnapshotAsElf(Dart_StreamingWriteCallback callback,
                                           void* callback_data,
                                           bool stripped,
                                           void* debug_callback_data) {
  return Dart_CreateAppAOTSnapshotAsElfFn(callback, callback_data, stripped,
                                          debug_callback_data);
}

Dart_Handle Dart_CreateAppAOTSnapshotAsElfs(
    Dart_CreateLoadingUnitCallback next_callback,
    void* next_callback_data,
    bool stripped,
    Dart_StreamingWriteCallback write_callback,
    Dart_StreamingCloseCallback close_callback) {
  return Dart_CreateAppAOTSnapshotAsElfsFn(next_callback, next_callback_data,
                                           stripped, write_callback,
                                           close_callback);
}

Dart_Handle Dart_CreateAppAOTSnapshotAsBinary(
    Dart_AotBinaryFormat format,
    Dart_StreamingWriteCallback callback,
    void* callback_data,
    bool stripped,
    void* debug_callback_data,
    const char* identifier,
    const char* path) {
  return Dart_CreateAppAOTSnapshotAsBinaryFn(format, callback, callback_data,
                                             stripped, debug_callback_data,
                                             identifier, path);
}

Dart_Handle Dart_CreateAppAOTSnapshotAndRelocatableObject(
    Dart_AotBinaryFormat format,
    Dart_StreamingWriteCallback callback,
    void* snapshot_callback_data,
    void* object_callback_data,
    bool stripped,
    void* debug_callback_data,
    const char* identifier,
    const char* path) {
  return Dart_CreateAppAOTSnapshotAndRelocatableObjectFn(
      format, callback, snapshot_callback_data, object_callback_data, stripped,
      debug_callback_data, identifier, path);
}

Dart_Handle Dart_WriteCallbackStub(Dart_StreamingWriteCallback callback,
                                   void* callback_data) {
  return Dart_WriteCallbackStubFn(callback, callback_data);
}

Dart_Handle Dart_SortClasses() {
  return Dart_SortClassesFn();
}

Dart_Handle Dart_CreateAppJITSnapshotAsBlobs(uint8_t** snapshot_data_buffer,
                                             intptr_t* snapshot_data_size,
                                             uint8_t** snapshot_text_buffer,
                                             intptr_t* snapshot_text_size) {
  return Dart_CreateAppJITSnapshotAsBlobsFn(
      snapshot_data_buffer, snapshot_data_size, snapshot_text_buffer,
      snapshot_text_size);
}

Dart_Handle Dart_GetObfuscationMap(uint8_t** buffer, intptr_t* buffer_length) {
  return Dart_GetObfuscationMapFn(buffer, buffer_length);
}

bool Dart_IsPrecompiledRuntime() {
  return Dart_IsPrecompiledRuntimeFn();
}

void Dart_DumpNativeStackTrace(void* context) {
  Dart_DumpNativeStackTraceFn(context);
}

void Dart_PrepareToAbort() {
  Dart_PrepareToAbortFn();
}

void Dart_SetDwarfStackTraceFootnoteCallback(
    Dart_DwarfStackTraceFootnoteCallback callback) {
  Dart_SetDwarfStackTraceFootnoteCallbackFn(callback);
}

bool Dart_PostCObject(Dart_Port port_id, Dart_CObject* message) {
  return Dart_PostCObjectFn(port_id, message);
}

bool Dart_PostInteger(Dart_Port port_id, int64_t message) {
  return Dart_PostIntegerFn(port_id, message);
}

Dart_Port Dart_NewNativePort(const char* name,
                             Dart_NativeMessageHandler handler,
                             bool handle_concurrently) {
  return Dart_NewNativePortFn(name, handler, handle_concurrently);
}

Dart_Port Dart_NewConcurrentNativePort(const char* name,
                                       Dart_NativeMessageHandler handler,
                                       intptr_t max_concurrency) {
  return Dart_NewConcurrentNativePortFn(name, handler, max_concurrency);
}

bool Dart_CloseNativePort(Dart_Port native_port_id) {
  return Dart_CloseNativePortFn(native_port_id);
}

Dart_Handle Dart_CompileAll() {
  return Dart_CompileAllFn();
}

Dart_Handle Dart_FinalizeAllClasses() {
  return Dart_FinalizeAllClassesFn();
}

void* Dart_ExecuteInternalCommand(const char* command, void* arg) {
  return Dart_ExecuteInternalCommandFn(command, arg);
}
