il2cpp-mono-support.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #pragma once
  2. #if RUNTIME_MONO
  3. #include "il2cpp-metadata.h"
  4. #include <vector>
  5. #include <string>
  6. struct MethodInfo;
  7. struct VirtualInvokeData;
  8. struct Il2CppInteropData;
  9. void il2cpp_mono_method_initialize_function_pointers(MonoMethod* method, MonoError* error);
  10. MonoAssembly* il2cpp_mono_assembly_from_index(AssemblyIndex index);
  11. void* il2cpp_mono_class_rgctx(MonoClass* klass, Il2CppRGCTXDataType rgctxType, int rgctxIndex, bool useSharedVersion);
  12. void* il2cpp_mono_method_rgctx(MonoMethod* method, Il2CppRGCTXDataType rgctxType, int rgctxIndex, bool useSharedVersion);
  13. MonoMethod* il2cpp_mono_get_virtual_target_method(MonoMethod* method, MonoObject* obj);
  14. void il2cpp_mono_get_invoke_data(MonoMethod* method, void* obj, VirtualInvokeData* invokeData);
  15. void il2cpp_mono_get_virtual_invoke_data(MonoMethod* method, void* obj, VirtualInvokeData* invokeData);
  16. void il2cpp_mono_get_interface_invoke_data(MonoMethod* method, void* obj, VirtualInvokeData* invokeData);
  17. void il2cpp_mono_initialize_method_metadata(uint32_t index);
  18. void il2cpp_mono_raise_execution_engine_exception_if_method_is_not_found(MonoMethod* method);
  19. Il2CppAsyncResult* il2cpp_mono_delegate_begin_invoke(MonoDelegate* delegate, void** params, MonoDelegate* asyncCallback, MonoObject* state);
  20. MonoObject* il2cpp_mono_delegate_end_invoke(Il2CppAsyncResult* asyncResult, void **out_args);
  21. MonoArray* MonoArrayNew(MonoClass* elementType, uintptr_t length);
  22. MonoMethod* MethodFromIndex(MethodIndex index);
  23. MonoMethod* GenericMethodFromIndex(MethodIndex index);
  24. const Il2CppInteropData* FindInteropDataFor(MonoClass* klass);
  25. void RuntimeInit(MonoClass* klass);
  26. std::string il2cpp_mono_format_exception(const MonoException *exc);
  27. void initialize_interop_data_map();
  28. void il2cpp_mono_error_init(MonoError *error);
  29. bool il2cpp_mono_error_ok(MonoError *error);
  30. MonoVTable* il2cpp_mono_class_vtable(MonoDomain *domain, MonoClass *klass);
  31. void* il2cpp_mono_get_static_field_address(MonoClass *klass, MonoClassField *field);
  32. void* il2cpp_mono_get_thread_static_field_address(MonoClass *klass, MonoClassField *field);
  33. #if IL2CPP_ENABLE_NATIVE_STACKTRACES
  34. struct MethodDefinitionKey
  35. {
  36. Il2CppMethodPointer method;
  37. MethodIndex methodIndex;
  38. bool isGeneric;
  39. };
  40. void RegisterAllManagedMethods();
  41. #endif // IL2CPP_ENABLE_NATIVE_STACKTRACES
  42. extern MonoDomain *g_MonoDomain;
  43. #endif