|
|
@@ -1,716 +0,0 @@
|
|
|
-using System;
|
|
|
-using System.Collections.Generic;
|
|
|
-using System.Linq;
|
|
|
-using System.Reflection;
|
|
|
-using System.Runtime.InteropServices;
|
|
|
-
|
|
|
-using ILRuntime.CLR.TypeSystem;
|
|
|
-using ILRuntime.CLR.Method;
|
|
|
-using ILRuntime.Runtime.Enviorment;
|
|
|
-using ILRuntime.Runtime.Intepreter;
|
|
|
-using ILRuntime.Runtime.Stack;
|
|
|
-using ILRuntime.Reflection;
|
|
|
-using ILRuntime.CLR.Utils;
|
|
|
-
|
|
|
-namespace ILRuntime.Runtime.Generated
|
|
|
-{
|
|
|
- unsafe class ETModel_AsyncETVoidMethodBuilder_Binding
|
|
|
- {
|
|
|
- public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
|
|
|
- {
|
|
|
- BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
|
|
|
- MethodBase method;
|
|
|
- Type[] args;
|
|
|
- Type type = typeof(ETModel.AsyncETVoidMethodBuilder);
|
|
|
- args = new Type[]{};
|
|
|
- method = type.GetMethod("Create", flag, null, args, null);
|
|
|
- app.RegisterCLRMethodRedirection(method, Create_0);
|
|
|
- Dictionary<string, List<MethodInfo>> genericMethods = new Dictionary<string, List<MethodInfo>>();
|
|
|
- List<MethodInfo> lst = null;
|
|
|
- foreach(var m in type.GetMethods())
|
|
|
- {
|
|
|
- if(m.IsGenericMethodDefinition)
|
|
|
- {
|
|
|
- if (!genericMethods.TryGetValue(m.Name, out lst))
|
|
|
- {
|
|
|
- lst = new List<MethodInfo>();
|
|
|
- genericMethods[m.Name] = lst;
|
|
|
- }
|
|
|
- lst.Add(m);
|
|
|
- }
|
|
|
- }
|
|
|
- args = new Type[]{typeof(ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor)};
|
|
|
- if (genericMethods.TryGetValue("Start", out lst))
|
|
|
- {
|
|
|
- foreach(var m in lst)
|
|
|
- {
|
|
|
- if(m.GetParameters().Length == 1)
|
|
|
- {
|
|
|
- method = m.MakeGenericMethod(args);
|
|
|
- app.RegisterCLRMethodRedirection(method, Start_1);
|
|
|
-
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- args = new Type[]{};
|
|
|
- method = type.GetMethod("get_Task", flag, null, args, null);
|
|
|
- app.RegisterCLRMethodRedirection(method, get_Task_2);
|
|
|
- args = new Type[]{typeof(ETModel.ETTask<Google.Protobuf.Adapt_IMessage.Adaptor>.Awaiter), typeof(ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor)};
|
|
|
- if (genericMethods.TryGetValue("AwaitUnsafeOnCompleted", out lst))
|
|
|
- {
|
|
|
- foreach(var m in lst)
|
|
|
- {
|
|
|
- if(m.GetParameters().Length == 2)
|
|
|
- {
|
|
|
- method = m.MakeGenericMethod(args);
|
|
|
- app.RegisterCLRMethodRedirection(method, AwaitUnsafeOnCompleted_3);
|
|
|
-
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- args = new Type[]{typeof(System.Exception)};
|
|
|
- method = type.GetMethod("SetException", flag, null, args, null);
|
|
|
- app.RegisterCLRMethodRedirection(method, SetException_4);
|
|
|
- args = new Type[]{};
|
|
|
- method = type.GetMethod("SetResult", flag, null, args, null);
|
|
|
- app.RegisterCLRMethodRedirection(method, SetResult_5);
|
|
|
- args = new Type[]{typeof(ETModel.ETTask.Awaiter), typeof(ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor)};
|
|
|
- if (genericMethods.TryGetValue("AwaitUnsafeOnCompleted", out lst))
|
|
|
- {
|
|
|
- foreach(var m in lst)
|
|
|
- {
|
|
|
- if(m.GetParameters().Length == 2)
|
|
|
- {
|
|
|
- method = m.MakeGenericMethod(args);
|
|
|
- app.RegisterCLRMethodRedirection(method, AwaitUnsafeOnCompleted_6);
|
|
|
-
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- args = new Type[]{typeof(ETModel.ETTask<ETModel.IResponse>.Awaiter), typeof(ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor)};
|
|
|
- if (genericMethods.TryGetValue("AwaitUnsafeOnCompleted", out lst))
|
|
|
- {
|
|
|
- foreach(var m in lst)
|
|
|
- {
|
|
|
- if(m.GetParameters().Length == 2)
|
|
|
- {
|
|
|
- method = m.MakeGenericMethod(args);
|
|
|
- app.RegisterCLRMethodRedirection(method, AwaitUnsafeOnCompleted_7);
|
|
|
-
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- app.RegisterCLRCreateDefaultInstance(type, () => new ETModel.AsyncETVoidMethodBuilder());
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- static void WriteBackInstance(ILRuntime.Runtime.Enviorment.AppDomain __domain, StackObject* ptr_of_this_method, IList<object> __mStack, ref ETModel.AsyncETVoidMethodBuilder instance_of_this_method)
|
|
|
- {
|
|
|
- ptr_of_this_method = ILIntepreter.GetObjectAndResolveReference(ptr_of_this_method);
|
|
|
- switch(ptr_of_this_method->ObjectType)
|
|
|
- {
|
|
|
- case ObjectTypes.Object:
|
|
|
- {
|
|
|
- __mStack[ptr_of_this_method->Value] = instance_of_this_method;
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.FieldReference:
|
|
|
- {
|
|
|
- var ___obj = __mStack[ptr_of_this_method->Value];
|
|
|
- if(___obj is ILTypeInstance)
|
|
|
- {
|
|
|
- ((ILTypeInstance)___obj)[ptr_of_this_method->ValueLow] = instance_of_this_method;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- var t = __domain.GetType(___obj.GetType()) as CLRType;
|
|
|
- t.SetFieldValue(ptr_of_this_method->ValueLow, ref ___obj, instance_of_this_method);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.StaticFieldReference:
|
|
|
- {
|
|
|
- var t = __domain.GetType(ptr_of_this_method->Value);
|
|
|
- if(t is ILType)
|
|
|
- {
|
|
|
- ((ILType)t).StaticInstance[ptr_of_this_method->ValueLow] = instance_of_this_method;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ((CLRType)t).SetStaticFieldValue(ptr_of_this_method->ValueLow, instance_of_this_method);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.ArrayReference:
|
|
|
- {
|
|
|
- var instance_of_arrayReference = __mStack[ptr_of_this_method->Value] as ETModel.AsyncETVoidMethodBuilder[];
|
|
|
- instance_of_arrayReference[ptr_of_this_method->ValueLow] = instance_of_this_method;
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- static StackObject* Create_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
|
|
|
- {
|
|
|
- ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
|
|
|
- StackObject* __ret = ILIntepreter.Minus(__esp, 0);
|
|
|
-
|
|
|
-
|
|
|
- var result_of_this_method = ETModel.AsyncETVoidMethodBuilder.Create();
|
|
|
-
|
|
|
- return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
|
|
|
- }
|
|
|
-
|
|
|
- static StackObject* Start_1(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
|
|
|
- {
|
|
|
- ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
|
|
|
- StackObject* ptr_of_this_method;
|
|
|
- StackObject* __ret = ILIntepreter.Minus(__esp, 2);
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
|
|
|
- ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor @stateMachine = (ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor)typeof(ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor).CheckCLRTypes(__intp.RetriveObject(ptr_of_this_method, __mStack));
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
|
|
|
- ptr_of_this_method = ILIntepreter.GetObjectAndResolveReference(ptr_of_this_method);
|
|
|
- ETModel.AsyncETVoidMethodBuilder instance_of_this_method = (ETModel.AsyncETVoidMethodBuilder)typeof(ETModel.AsyncETVoidMethodBuilder).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
|
|
|
-
|
|
|
- instance_of_this_method.Start<ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor>(ref @stateMachine);
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
|
|
|
- switch(ptr_of_this_method->ObjectType)
|
|
|
- {
|
|
|
- case ObjectTypes.StackObjectReference:
|
|
|
- {
|
|
|
- var ___dst = *(StackObject**)&ptr_of_this_method->Value;
|
|
|
- object ___obj = @stateMachine;
|
|
|
- if (___dst->ObjectType >= ObjectTypes.Object)
|
|
|
- {
|
|
|
- if (___obj is CrossBindingAdaptorType)
|
|
|
- ___obj = ((CrossBindingAdaptorType)___obj).ILInstance;
|
|
|
- __mStack[___dst->Value] = ___obj;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ILIntepreter.UnboxObject(___dst, ___obj, __mStack, __domain);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.FieldReference:
|
|
|
- {
|
|
|
- var ___obj = __mStack[ptr_of_this_method->Value];
|
|
|
- if(___obj is ILTypeInstance)
|
|
|
- {
|
|
|
- ((ILTypeInstance)___obj)[ptr_of_this_method->ValueLow] = @stateMachine;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- var ___type = __domain.GetType(___obj.GetType()) as CLRType;
|
|
|
- ___type.SetFieldValue(ptr_of_this_method->ValueLow, ref ___obj, @stateMachine);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.StaticFieldReference:
|
|
|
- {
|
|
|
- var ___type = __domain.GetType(ptr_of_this_method->Value);
|
|
|
- if(___type is ILType)
|
|
|
- {
|
|
|
- ((ILType)___type).StaticInstance[ptr_of_this_method->ValueLow] = @stateMachine;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ((CLRType)___type).SetStaticFieldValue(ptr_of_this_method->ValueLow, @stateMachine);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.ArrayReference:
|
|
|
- {
|
|
|
- var instance_of_arrayReference = __mStack[ptr_of_this_method->Value] as ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor[];
|
|
|
- instance_of_arrayReference[ptr_of_this_method->ValueLow] = @stateMachine;
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- __intp.Free(ptr_of_this_method);
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
|
|
|
- WriteBackInstance(__domain, ptr_of_this_method, __mStack, ref instance_of_this_method);
|
|
|
-
|
|
|
- __intp.Free(ptr_of_this_method);
|
|
|
- return __ret;
|
|
|
- }
|
|
|
-
|
|
|
- static StackObject* get_Task_2(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
|
|
|
- {
|
|
|
- ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
|
|
|
- StackObject* ptr_of_this_method;
|
|
|
- StackObject* __ret = ILIntepreter.Minus(__esp, 1);
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
|
|
|
- ptr_of_this_method = ILIntepreter.GetObjectAndResolveReference(ptr_of_this_method);
|
|
|
- ETModel.AsyncETVoidMethodBuilder instance_of_this_method = (ETModel.AsyncETVoidMethodBuilder)typeof(ETModel.AsyncETVoidMethodBuilder).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
|
|
|
-
|
|
|
- var result_of_this_method = instance_of_this_method.Task;
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
|
|
|
- WriteBackInstance(__domain, ptr_of_this_method, __mStack, ref instance_of_this_method);
|
|
|
-
|
|
|
- __intp.Free(ptr_of_this_method);
|
|
|
- return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
|
|
|
- }
|
|
|
-
|
|
|
- static StackObject* AwaitUnsafeOnCompleted_3(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
|
|
|
- {
|
|
|
- ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
|
|
|
- StackObject* ptr_of_this_method;
|
|
|
- StackObject* __ret = ILIntepreter.Minus(__esp, 3);
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
|
|
|
- ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor @stateMachine = (ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor)typeof(ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor).CheckCLRTypes(__intp.RetriveObject(ptr_of_this_method, __mStack));
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
|
|
|
- ETModel.ETTask<Google.Protobuf.Adapt_IMessage.Adaptor>.Awaiter @awaiter = (ETModel.ETTask<Google.Protobuf.Adapt_IMessage.Adaptor>.Awaiter)typeof(ETModel.ETTask<Google.Protobuf.Adapt_IMessage.Adaptor>.Awaiter).CheckCLRTypes(__intp.RetriveObject(ptr_of_this_method, __mStack));
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
|
|
|
- ptr_of_this_method = ILIntepreter.GetObjectAndResolveReference(ptr_of_this_method);
|
|
|
- ETModel.AsyncETVoidMethodBuilder instance_of_this_method = (ETModel.AsyncETVoidMethodBuilder)typeof(ETModel.AsyncETVoidMethodBuilder).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
|
|
|
-
|
|
|
- instance_of_this_method.AwaitUnsafeOnCompleted<ETModel.ETTask<Google.Protobuf.Adapt_IMessage.Adaptor>.Awaiter, ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor>(ref @awaiter, ref @stateMachine);
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
|
|
|
- switch(ptr_of_this_method->ObjectType)
|
|
|
- {
|
|
|
- case ObjectTypes.StackObjectReference:
|
|
|
- {
|
|
|
- var ___dst = *(StackObject**)&ptr_of_this_method->Value;
|
|
|
- object ___obj = @stateMachine;
|
|
|
- if (___dst->ObjectType >= ObjectTypes.Object)
|
|
|
- {
|
|
|
- if (___obj is CrossBindingAdaptorType)
|
|
|
- ___obj = ((CrossBindingAdaptorType)___obj).ILInstance;
|
|
|
- __mStack[___dst->Value] = ___obj;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ILIntepreter.UnboxObject(___dst, ___obj, __mStack, __domain);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.FieldReference:
|
|
|
- {
|
|
|
- var ___obj = __mStack[ptr_of_this_method->Value];
|
|
|
- if(___obj is ILTypeInstance)
|
|
|
- {
|
|
|
- ((ILTypeInstance)___obj)[ptr_of_this_method->ValueLow] = @stateMachine;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- var ___type = __domain.GetType(___obj.GetType()) as CLRType;
|
|
|
- ___type.SetFieldValue(ptr_of_this_method->ValueLow, ref ___obj, @stateMachine);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.StaticFieldReference:
|
|
|
- {
|
|
|
- var ___type = __domain.GetType(ptr_of_this_method->Value);
|
|
|
- if(___type is ILType)
|
|
|
- {
|
|
|
- ((ILType)___type).StaticInstance[ptr_of_this_method->ValueLow] = @stateMachine;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ((CLRType)___type).SetStaticFieldValue(ptr_of_this_method->ValueLow, @stateMachine);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.ArrayReference:
|
|
|
- {
|
|
|
- var instance_of_arrayReference = __mStack[ptr_of_this_method->Value] as ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor[];
|
|
|
- instance_of_arrayReference[ptr_of_this_method->ValueLow] = @stateMachine;
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- __intp.Free(ptr_of_this_method);
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
|
|
|
- switch(ptr_of_this_method->ObjectType)
|
|
|
- {
|
|
|
- case ObjectTypes.StackObjectReference:
|
|
|
- {
|
|
|
- var ___dst = *(StackObject**)&ptr_of_this_method->Value;
|
|
|
- object ___obj = @awaiter;
|
|
|
- if (___dst->ObjectType >= ObjectTypes.Object)
|
|
|
- {
|
|
|
- if (___obj is CrossBindingAdaptorType)
|
|
|
- ___obj = ((CrossBindingAdaptorType)___obj).ILInstance;
|
|
|
- __mStack[___dst->Value] = ___obj;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ILIntepreter.UnboxObject(___dst, ___obj, __mStack, __domain);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.FieldReference:
|
|
|
- {
|
|
|
- var ___obj = __mStack[ptr_of_this_method->Value];
|
|
|
- if(___obj is ILTypeInstance)
|
|
|
- {
|
|
|
- ((ILTypeInstance)___obj)[ptr_of_this_method->ValueLow] = @awaiter;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- var ___type = __domain.GetType(___obj.GetType()) as CLRType;
|
|
|
- ___type.SetFieldValue(ptr_of_this_method->ValueLow, ref ___obj, @awaiter);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.StaticFieldReference:
|
|
|
- {
|
|
|
- var ___type = __domain.GetType(ptr_of_this_method->Value);
|
|
|
- if(___type is ILType)
|
|
|
- {
|
|
|
- ((ILType)___type).StaticInstance[ptr_of_this_method->ValueLow] = @awaiter;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ((CLRType)___type).SetStaticFieldValue(ptr_of_this_method->ValueLow, @awaiter);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.ArrayReference:
|
|
|
- {
|
|
|
- var instance_of_arrayReference = __mStack[ptr_of_this_method->Value] as ETModel.ETTask<Google.Protobuf.Adapt_IMessage.Adaptor>.Awaiter[];
|
|
|
- instance_of_arrayReference[ptr_of_this_method->ValueLow] = @awaiter;
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- __intp.Free(ptr_of_this_method);
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
|
|
|
- WriteBackInstance(__domain, ptr_of_this_method, __mStack, ref instance_of_this_method);
|
|
|
-
|
|
|
- __intp.Free(ptr_of_this_method);
|
|
|
- return __ret;
|
|
|
- }
|
|
|
-
|
|
|
- static StackObject* SetException_4(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
|
|
|
- {
|
|
|
- ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
|
|
|
- StackObject* ptr_of_this_method;
|
|
|
- StackObject* __ret = ILIntepreter.Minus(__esp, 2);
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
|
|
|
- System.Exception @exception = (System.Exception)typeof(System.Exception).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
|
|
|
- __intp.Free(ptr_of_this_method);
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
|
|
|
- ptr_of_this_method = ILIntepreter.GetObjectAndResolveReference(ptr_of_this_method);
|
|
|
- ETModel.AsyncETVoidMethodBuilder instance_of_this_method = (ETModel.AsyncETVoidMethodBuilder)typeof(ETModel.AsyncETVoidMethodBuilder).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
|
|
|
-
|
|
|
- instance_of_this_method.SetException(@exception);
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
|
|
|
- WriteBackInstance(__domain, ptr_of_this_method, __mStack, ref instance_of_this_method);
|
|
|
-
|
|
|
- __intp.Free(ptr_of_this_method);
|
|
|
- return __ret;
|
|
|
- }
|
|
|
-
|
|
|
- static StackObject* SetResult_5(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
|
|
|
- {
|
|
|
- ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
|
|
|
- StackObject* ptr_of_this_method;
|
|
|
- StackObject* __ret = ILIntepreter.Minus(__esp, 1);
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
|
|
|
- ptr_of_this_method = ILIntepreter.GetObjectAndResolveReference(ptr_of_this_method);
|
|
|
- ETModel.AsyncETVoidMethodBuilder instance_of_this_method = (ETModel.AsyncETVoidMethodBuilder)typeof(ETModel.AsyncETVoidMethodBuilder).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
|
|
|
-
|
|
|
- instance_of_this_method.SetResult();
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
|
|
|
- WriteBackInstance(__domain, ptr_of_this_method, __mStack, ref instance_of_this_method);
|
|
|
-
|
|
|
- __intp.Free(ptr_of_this_method);
|
|
|
- return __ret;
|
|
|
- }
|
|
|
-
|
|
|
- static StackObject* AwaitUnsafeOnCompleted_6(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
|
|
|
- {
|
|
|
- ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
|
|
|
- StackObject* ptr_of_this_method;
|
|
|
- StackObject* __ret = ILIntepreter.Minus(__esp, 3);
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
|
|
|
- ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor @stateMachine = (ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor)typeof(ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor).CheckCLRTypes(__intp.RetriveObject(ptr_of_this_method, __mStack));
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
|
|
|
- ETModel.ETTask.Awaiter @awaiter = (ETModel.ETTask.Awaiter)typeof(ETModel.ETTask.Awaiter).CheckCLRTypes(__intp.RetriveObject(ptr_of_this_method, __mStack));
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
|
|
|
- ptr_of_this_method = ILIntepreter.GetObjectAndResolveReference(ptr_of_this_method);
|
|
|
- ETModel.AsyncETVoidMethodBuilder instance_of_this_method = (ETModel.AsyncETVoidMethodBuilder)typeof(ETModel.AsyncETVoidMethodBuilder).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
|
|
|
-
|
|
|
- instance_of_this_method.AwaitUnsafeOnCompleted<ETModel.ETTask.Awaiter, ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor>(ref @awaiter, ref @stateMachine);
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
|
|
|
- switch(ptr_of_this_method->ObjectType)
|
|
|
- {
|
|
|
- case ObjectTypes.StackObjectReference:
|
|
|
- {
|
|
|
- var ___dst = *(StackObject**)&ptr_of_this_method->Value;
|
|
|
- object ___obj = @stateMachine;
|
|
|
- if (___dst->ObjectType >= ObjectTypes.Object)
|
|
|
- {
|
|
|
- if (___obj is CrossBindingAdaptorType)
|
|
|
- ___obj = ((CrossBindingAdaptorType)___obj).ILInstance;
|
|
|
- __mStack[___dst->Value] = ___obj;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ILIntepreter.UnboxObject(___dst, ___obj, __mStack, __domain);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.FieldReference:
|
|
|
- {
|
|
|
- var ___obj = __mStack[ptr_of_this_method->Value];
|
|
|
- if(___obj is ILTypeInstance)
|
|
|
- {
|
|
|
- ((ILTypeInstance)___obj)[ptr_of_this_method->ValueLow] = @stateMachine;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- var ___type = __domain.GetType(___obj.GetType()) as CLRType;
|
|
|
- ___type.SetFieldValue(ptr_of_this_method->ValueLow, ref ___obj, @stateMachine);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.StaticFieldReference:
|
|
|
- {
|
|
|
- var ___type = __domain.GetType(ptr_of_this_method->Value);
|
|
|
- if(___type is ILType)
|
|
|
- {
|
|
|
- ((ILType)___type).StaticInstance[ptr_of_this_method->ValueLow] = @stateMachine;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ((CLRType)___type).SetStaticFieldValue(ptr_of_this_method->ValueLow, @stateMachine);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.ArrayReference:
|
|
|
- {
|
|
|
- var instance_of_arrayReference = __mStack[ptr_of_this_method->Value] as ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor[];
|
|
|
- instance_of_arrayReference[ptr_of_this_method->ValueLow] = @stateMachine;
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- __intp.Free(ptr_of_this_method);
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
|
|
|
- switch(ptr_of_this_method->ObjectType)
|
|
|
- {
|
|
|
- case ObjectTypes.StackObjectReference:
|
|
|
- {
|
|
|
- var ___dst = *(StackObject**)&ptr_of_this_method->Value;
|
|
|
- object ___obj = @awaiter;
|
|
|
- if (___dst->ObjectType >= ObjectTypes.Object)
|
|
|
- {
|
|
|
- if (___obj is CrossBindingAdaptorType)
|
|
|
- ___obj = ((CrossBindingAdaptorType)___obj).ILInstance;
|
|
|
- __mStack[___dst->Value] = ___obj;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ILIntepreter.UnboxObject(___dst, ___obj, __mStack, __domain);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.FieldReference:
|
|
|
- {
|
|
|
- var ___obj = __mStack[ptr_of_this_method->Value];
|
|
|
- if(___obj is ILTypeInstance)
|
|
|
- {
|
|
|
- ((ILTypeInstance)___obj)[ptr_of_this_method->ValueLow] = @awaiter;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- var ___type = __domain.GetType(___obj.GetType()) as CLRType;
|
|
|
- ___type.SetFieldValue(ptr_of_this_method->ValueLow, ref ___obj, @awaiter);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.StaticFieldReference:
|
|
|
- {
|
|
|
- var ___type = __domain.GetType(ptr_of_this_method->Value);
|
|
|
- if(___type is ILType)
|
|
|
- {
|
|
|
- ((ILType)___type).StaticInstance[ptr_of_this_method->ValueLow] = @awaiter;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ((CLRType)___type).SetStaticFieldValue(ptr_of_this_method->ValueLow, @awaiter);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.ArrayReference:
|
|
|
- {
|
|
|
- var instance_of_arrayReference = __mStack[ptr_of_this_method->Value] as ETModel.ETTask.Awaiter[];
|
|
|
- instance_of_arrayReference[ptr_of_this_method->ValueLow] = @awaiter;
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- __intp.Free(ptr_of_this_method);
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
|
|
|
- WriteBackInstance(__domain, ptr_of_this_method, __mStack, ref instance_of_this_method);
|
|
|
-
|
|
|
- __intp.Free(ptr_of_this_method);
|
|
|
- return __ret;
|
|
|
- }
|
|
|
-
|
|
|
- static StackObject* AwaitUnsafeOnCompleted_7(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
|
|
|
- {
|
|
|
- ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
|
|
|
- StackObject* ptr_of_this_method;
|
|
|
- StackObject* __ret = ILIntepreter.Minus(__esp, 3);
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
|
|
|
- ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor @stateMachine = (ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor)typeof(ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor).CheckCLRTypes(__intp.RetriveObject(ptr_of_this_method, __mStack));
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
|
|
|
- ETModel.ETTask<ETModel.IResponse>.Awaiter @awaiter = (ETModel.ETTask<ETModel.IResponse>.Awaiter)typeof(ETModel.ETTask<ETModel.IResponse>.Awaiter).CheckCLRTypes(__intp.RetriveObject(ptr_of_this_method, __mStack));
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
|
|
|
- ptr_of_this_method = ILIntepreter.GetObjectAndResolveReference(ptr_of_this_method);
|
|
|
- ETModel.AsyncETVoidMethodBuilder instance_of_this_method = (ETModel.AsyncETVoidMethodBuilder)typeof(ETModel.AsyncETVoidMethodBuilder).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
|
|
|
-
|
|
|
- instance_of_this_method.AwaitUnsafeOnCompleted<ETModel.ETTask<ETModel.IResponse>.Awaiter, ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor>(ref @awaiter, ref @stateMachine);
|
|
|
-
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
|
|
|
- switch(ptr_of_this_method->ObjectType)
|
|
|
- {
|
|
|
- case ObjectTypes.StackObjectReference:
|
|
|
- {
|
|
|
- var ___dst = *(StackObject**)&ptr_of_this_method->Value;
|
|
|
- object ___obj = @stateMachine;
|
|
|
- if (___dst->ObjectType >= ObjectTypes.Object)
|
|
|
- {
|
|
|
- if (___obj is CrossBindingAdaptorType)
|
|
|
- ___obj = ((CrossBindingAdaptorType)___obj).ILInstance;
|
|
|
- __mStack[___dst->Value] = ___obj;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ILIntepreter.UnboxObject(___dst, ___obj, __mStack, __domain);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.FieldReference:
|
|
|
- {
|
|
|
- var ___obj = __mStack[ptr_of_this_method->Value];
|
|
|
- if(___obj is ILTypeInstance)
|
|
|
- {
|
|
|
- ((ILTypeInstance)___obj)[ptr_of_this_method->ValueLow] = @stateMachine;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- var ___type = __domain.GetType(___obj.GetType()) as CLRType;
|
|
|
- ___type.SetFieldValue(ptr_of_this_method->ValueLow, ref ___obj, @stateMachine);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.StaticFieldReference:
|
|
|
- {
|
|
|
- var ___type = __domain.GetType(ptr_of_this_method->Value);
|
|
|
- if(___type is ILType)
|
|
|
- {
|
|
|
- ((ILType)___type).StaticInstance[ptr_of_this_method->ValueLow] = @stateMachine;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ((CLRType)___type).SetStaticFieldValue(ptr_of_this_method->ValueLow, @stateMachine);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.ArrayReference:
|
|
|
- {
|
|
|
- var instance_of_arrayReference = __mStack[ptr_of_this_method->Value] as ETModel.IAsyncStateMachineClassInheritanceAdaptor.IAsyncStateMachineAdaptor[];
|
|
|
- instance_of_arrayReference[ptr_of_this_method->ValueLow] = @stateMachine;
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- __intp.Free(ptr_of_this_method);
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
|
|
|
- switch(ptr_of_this_method->ObjectType)
|
|
|
- {
|
|
|
- case ObjectTypes.StackObjectReference:
|
|
|
- {
|
|
|
- var ___dst = *(StackObject**)&ptr_of_this_method->Value;
|
|
|
- object ___obj = @awaiter;
|
|
|
- if (___dst->ObjectType >= ObjectTypes.Object)
|
|
|
- {
|
|
|
- if (___obj is CrossBindingAdaptorType)
|
|
|
- ___obj = ((CrossBindingAdaptorType)___obj).ILInstance;
|
|
|
- __mStack[___dst->Value] = ___obj;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ILIntepreter.UnboxObject(___dst, ___obj, __mStack, __domain);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.FieldReference:
|
|
|
- {
|
|
|
- var ___obj = __mStack[ptr_of_this_method->Value];
|
|
|
- if(___obj is ILTypeInstance)
|
|
|
- {
|
|
|
- ((ILTypeInstance)___obj)[ptr_of_this_method->ValueLow] = @awaiter;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- var ___type = __domain.GetType(___obj.GetType()) as CLRType;
|
|
|
- ___type.SetFieldValue(ptr_of_this_method->ValueLow, ref ___obj, @awaiter);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.StaticFieldReference:
|
|
|
- {
|
|
|
- var ___type = __domain.GetType(ptr_of_this_method->Value);
|
|
|
- if(___type is ILType)
|
|
|
- {
|
|
|
- ((ILType)___type).StaticInstance[ptr_of_this_method->ValueLow] = @awaiter;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ((CLRType)___type).SetStaticFieldValue(ptr_of_this_method->ValueLow, @awaiter);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case ObjectTypes.ArrayReference:
|
|
|
- {
|
|
|
- var instance_of_arrayReference = __mStack[ptr_of_this_method->Value] as ETModel.ETTask<ETModel.IResponse>.Awaiter[];
|
|
|
- instance_of_arrayReference[ptr_of_this_method->ValueLow] = @awaiter;
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- __intp.Free(ptr_of_this_method);
|
|
|
- ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
|
|
|
- WriteBackInstance(__domain, ptr_of_this_method, __mStack, ref instance_of_this_method);
|
|
|
-
|
|
|
- __intp.Free(ptr_of_this_method);
|
|
|
- return __ret;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
-}
|