Created
December 15, 2022 21:51
-
-
Save AlexMerzlikin/937550f7fd658dd3f70126a044365fc7 to your computer and use it in GitHub Desktop.
What a simple "await Task.Delay()" is generated into using Unity IL2CPP scripting backend.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
IL2CPP_EXTERN_C IL2CPP_METHOD_ATTR Task_t751C4CC3ECD055BABA8A0B6A5DFBB4283DCA8572* TestTaskMonoBehaviour_TestMethodAsync_m2608F067B822413A2380FE0CCA1A9FCB251C4454 (TestTaskMonoBehaviour_t8D0CF54D6090450EE844BEA7DA0A080B5A17A74C* __this, const RuntimeMethod* method) | |
{ | |
static bool s_Il2CppMethodInitialized; | |
if (!s_Il2CppMethodInitialized) | |
{ | |
il2cpp_codegen_initialize_runtime_metadata((uintptr_t*)&AsyncTaskMethodBuilder_Start_TisU3CTestMethodAsyncU3Ed__1_tA8A97951AA0C3E88CC6D874339C83A65065C39D0_m6D2DD2EBF8C61EB68DE2F44E96C14C78AD8BD583_RuntimeMethod_var); | |
il2cpp_codegen_initialize_runtime_metadata((uintptr_t*)&AsyncTaskMethodBuilder_t7A5128C134547B5918EB1AA24FE47ED4C1DF3F06_il2cpp_TypeInfo_var); | |
s_Il2CppMethodInitialized = true; | |
} | |
U3CTestMethodAsyncU3Ed__1_tA8A97951AA0C3E88CC6D874339C83A65065C39D0 V_0; | |
memset((&V_0), 0, sizeof(V_0)); | |
{ | |
il2cpp_codegen_runtime_class_init_inline(AsyncTaskMethodBuilder_t7A5128C134547B5918EB1AA24FE47ED4C1DF3F06_il2cpp_TypeInfo_var); | |
AsyncTaskMethodBuilder_t7A5128C134547B5918EB1AA24FE47ED4C1DF3F06 L_0; | |
L_0 = AsyncTaskMethodBuilder_Create_m24F3F260A79CA2B9EC4F1F15693A33F5EC58735A(NULL); | |
(&V_0)->___U3CU3Et__builder_1 = L_0; | |
Il2CppCodeGenWriteBarrier((void**)&((&((&(((&(&V_0)->___U3CU3Et__builder_1))->___m_builder_1))->___m_coreState_1))->___m_stateMachine_0), (void*)NULL); | |
#if IL2CPP_ENABLE_STRICT_WRITE_BARRIERS | |
Il2CppCodeGenWriteBarrier((void**)&((&((&(((&(&V_0)->___U3CU3Et__builder_1))->___m_builder_1))->___m_coreState_1))->___m_defaultContextAction_1), (void*)NULL); | |
#endif | |
#if IL2CPP_ENABLE_STRICT_WRITE_BARRIERS | |
Il2CppCodeGenWriteBarrier((void**)&((&(((&(&V_0)->___U3CU3Et__builder_1))->___m_builder_1))->___m_task_2), (void*)NULL); | |
#endif | |
(&V_0)->___U3CU3E1__state_0 = (-1); | |
AsyncTaskMethodBuilder_t7A5128C134547B5918EB1AA24FE47ED4C1DF3F06* L_1 = (&(&V_0)->___U3CU3Et__builder_1); | |
AsyncTaskMethodBuilder_Start_TisU3CTestMethodAsyncU3Ed__1_tA8A97951AA0C3E88CC6D874339C83A65065C39D0_m6D2DD2EBF8C61EB68DE2F44E96C14C78AD8BD583(L_1, (&V_0), AsyncTaskMethodBuilder_Start_TisU3CTestMethodAsyncU3Ed__1_tA8A97951AA0C3E88CC6D874339C83A65065C39D0_m6D2DD2EBF8C61EB68DE2F44E96C14C78AD8BD583_RuntimeMethod_var); | |
AsyncTaskMethodBuilder_t7A5128C134547B5918EB1AA24FE47ED4C1DF3F06* L_2 = (&(&V_0)->___U3CU3Et__builder_1); | |
Task_t751C4CC3ECD055BABA8A0B6A5DFBB4283DCA8572* L_3; | |
L_3 = AsyncTaskMethodBuilder_get_Task_mE9125D5F8B96F26D1BA5A5347ED82669521C7F9E(L_2, NULL); | |
return L_3; | |
} | |
} | |
// System.Void TestTaskMonoBehaviour::.ctor() | |
IL2CPP_EXTERN_C IL2CPP_METHOD_ATTR void TestTaskMonoBehaviour__ctor_mAA80A3B20E12DADDC6760025C42E23710A511078 (TestTaskMonoBehaviour_t8D0CF54D6090450EE844BEA7DA0A080B5A17A74C* __this, const RuntimeMethod* method) | |
{ | |
{ | |
MonoBehaviour__ctor_m592DB0105CA0BC97AA1C5F4AD27B12D68A3B7C1E(__this, NULL); | |
return; | |
} | |
} | |
#ifdef __clang__ | |
#pragma clang diagnostic pop | |
#endif | |
#ifdef __clang__ | |
#pragma clang diagnostic push | |
#pragma clang diagnostic ignored "-Winvalid-offsetof" | |
#pragma clang diagnostic ignored "-Wunused-variable" | |
#endif | |
// System.Void TestTaskMonoBehaviour/<TestMethodAsync>d__1::MoveNext() | |
IL2CPP_EXTERN_C IL2CPP_METHOD_ATTR void U3CTestMethodAsyncU3Ed__1_MoveNext_m897E23B1A002E60433AE8561F10866A1C00F5F59 (U3CTestMethodAsyncU3Ed__1_tA8A97951AA0C3E88CC6D874339C83A65065C39D0* __this, const RuntimeMethod* method) | |
{ | |
static bool s_Il2CppMethodInitialized; | |
if (!s_Il2CppMethodInitialized) | |
{ | |
il2cpp_codegen_initialize_runtime_metadata((uintptr_t*)&AsyncTaskMethodBuilder_AwaitUnsafeOnCompleted_TisTaskAwaiter_t9B661AC8C2EFA6BAB94C77BB24A5DDA82D61F833_TisU3CTestMethodAsyncU3Ed__1_tA8A97951AA0C3E88CC6D874339C83A65065C39D0_m841FCD2F4B2330A56573A2222B3EF6D02FB9B1DA_RuntimeMethod_var); | |
il2cpp_codegen_initialize_runtime_metadata((uintptr_t*)&Task_t751C4CC3ECD055BABA8A0B6A5DFBB4283DCA8572_il2cpp_TypeInfo_var); | |
s_Il2CppMethodInitialized = true; | |
} | |
int32_t V_0 = 0; | |
TaskAwaiter_t9B661AC8C2EFA6BAB94C77BB24A5DDA82D61F833 V_1; | |
memset((&V_1), 0, sizeof(V_1)); | |
Exception_t* V_2 = NULL; | |
il2cpp::utils::ExceptionSupportStack<RuntimeObject*, 1> __active_exceptions; | |
{ | |
int32_t L_0 = __this->___U3CU3E1__state_0; | |
V_0 = L_0; | |
} | |
try | |
{// begin try (depth: 1) | |
{ | |
int32_t L_1 = V_0; | |
if (!L_1) | |
{ | |
goto IL_0040_1; | |
} | |
} | |
{ | |
// await Task.Delay(100); | |
il2cpp_codegen_runtime_class_init_inline(Task_t751C4CC3ECD055BABA8A0B6A5DFBB4283DCA8572_il2cpp_TypeInfo_var); | |
Task_t751C4CC3ECD055BABA8A0B6A5DFBB4283DCA8572* L_2; | |
L_2 = Task_Delay_m4B84654B4DAADEC41096D9F01C099CCEA9927A48(((int32_t)100), NULL); | |
NullCheck(L_2); | |
TaskAwaiter_t9B661AC8C2EFA6BAB94C77BB24A5DDA82D61F833 L_3; | |
L_3 = Task_GetAwaiter_m08B368EAC939DD35D0AC428180822255A442CA29(L_2, NULL); | |
V_1 = L_3; | |
bool L_4; | |
L_4 = TaskAwaiter_get_IsCompleted_mC236D276FBE3A271B56EE13FCAF2C96E48453ED8((&V_1), NULL); | |
if (L_4) | |
{ | |
goto IL_005c_1; | |
} | |
} | |
{ | |
int32_t L_5 = 0; | |
V_0 = L_5; | |
__this->___U3CU3E1__state_0 = L_5; | |
TaskAwaiter_t9B661AC8C2EFA6BAB94C77BB24A5DDA82D61F833 L_6 = V_1; | |
__this->___U3CU3Eu__1_2 = L_6; | |
Il2CppCodeGenWriteBarrier((void**)&(((&__this->___U3CU3Eu__1_2))->___m_task_0), (void*)NULL); | |
AsyncTaskMethodBuilder_t7A5128C134547B5918EB1AA24FE47ED4C1DF3F06* L_7 = (&__this->___U3CU3Et__builder_1); | |
AsyncTaskMethodBuilder_AwaitUnsafeOnCompleted_TisTaskAwaiter_t9B661AC8C2EFA6BAB94C77BB24A5DDA82D61F833_TisU3CTestMethodAsyncU3Ed__1_tA8A97951AA0C3E88CC6D874339C83A65065C39D0_m841FCD2F4B2330A56573A2222B3EF6D02FB9B1DA(L_7, (&V_1), __this, AsyncTaskMethodBuilder_AwaitUnsafeOnCompleted_TisTaskAwaiter_t9B661AC8C2EFA6BAB94C77BB24A5DDA82D61F833_TisU3CTestMethodAsyncU3Ed__1_tA8A97951AA0C3E88CC6D874339C83A65065C39D0_m841FCD2F4B2330A56573A2222B3EF6D02FB9B1DA_RuntimeMethod_var); | |
goto IL_008f; | |
} | |
IL_0040_1: | |
{ | |
TaskAwaiter_t9B661AC8C2EFA6BAB94C77BB24A5DDA82D61F833 L_8 = __this->___U3CU3Eu__1_2; | |
V_1 = L_8; | |
TaskAwaiter_t9B661AC8C2EFA6BAB94C77BB24A5DDA82D61F833* L_9 = (&__this->___U3CU3Eu__1_2); | |
il2cpp_codegen_initobj(L_9, sizeof(TaskAwaiter_t9B661AC8C2EFA6BAB94C77BB24A5DDA82D61F833)); | |
int32_t L_10 = (-1); | |
V_0 = L_10; | |
__this->___U3CU3E1__state_0 = L_10; | |
} | |
IL_005c_1: | |
{ | |
TaskAwaiter_GetResult_mC1D712500AE49B4A89C85D6B79D87D1BA9A6B94D((&V_1), NULL); | |
goto IL_007c; | |
} | |
}// end try (depth: 1) | |
catch(Il2CppExceptionWrapper& e) | |
{ | |
if(il2cpp_codegen_class_is_assignable_from (((RuntimeClass*)il2cpp_codegen_initialize_runtime_metadata_inline((uintptr_t*)&Exception_t_il2cpp_TypeInfo_var)), il2cpp_codegen_object_class(e.ex))) | |
{ | |
IL2CPP_PUSH_ACTIVE_EXCEPTION(e.ex); | |
goto CATCH_0065; | |
} | |
throw e; | |
} | |
CATCH_0065: | |
{// begin catch(System.Exception) | |
V_2 = ((Exception_t*)IL2CPP_GET_ACTIVE_EXCEPTION(Exception_t*)); | |
__this->___U3CU3E1__state_0 = ((int32_t)-2); | |
AsyncTaskMethodBuilder_t7A5128C134547B5918EB1AA24FE47ED4C1DF3F06* L_11 = (&__this->___U3CU3Et__builder_1); | |
Exception_t* L_12 = V_2; | |
AsyncTaskMethodBuilder_SetException_mBE41863F0571E0177A15731294087DE45E1FC10B(L_11, L_12, NULL); | |
IL2CPP_POP_ACTIVE_EXCEPTION(); | |
goto IL_008f; | |
}// end catch (depth: 1) | |
IL_007c: | |
{ | |
// } | |
__this->___U3CU3E1__state_0 = ((int32_t)-2); | |
AsyncTaskMethodBuilder_t7A5128C134547B5918EB1AA24FE47ED4C1DF3F06* L_13 = (&__this->___U3CU3Et__builder_1); | |
AsyncTaskMethodBuilder_SetResult_m76D8B84F0068257C1823B1200B00E58E0C8DDDDE(L_13, NULL); | |
} | |
IL_008f: | |
{ | |
return; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment