#include #include "Marshal.h" #include "vm/PlatformInvoke.h" namespace mono { namespace icalls { namespace mscorlib { namespace System { namespace Runtime { namespace InteropServices { intptr_t Marshal::GetFunctionPointerForDelegateInternal(MonoDelegate* d) { return mono::vm::PlatformInvoke::MarshalDelegate(d); } Il2CppDelegate* Marshal::GetDelegateForFunctionPointerInternal(intptr_t ptr, MonoReflectionType* t) { MonoClass *delegateType = mono_type_get_class(mono_unity_reflection_type_get_type(t)); if (!mono_class_init(delegateType)) { mono_set_pending_exception(mono_class_get_exception_for_failure(delegateType)); return NULL; } return mono::vm::PlatformInvoke::MarshalFunctionPointerToDelegate(reinterpret_cast(ptr), delegateType); } } /* namespace InteropServices */ } /* namespace Runtime */ } /* namespace System */ } /* namespace mscorlib */ } /* namespace icalls */ } /* namespace mono */