| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- 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_MessageInfo_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.MessageInfo);
- args = new Type[]{};
- method = type.GetMethod("get_Opcode", flag, null, args, null);
- app.RegisterCLRMethodRedirection(method, get_Opcode_0);
- args = new Type[]{};
- method = type.GetMethod("get_Message", flag, null, args, null);
- app.RegisterCLRMethodRedirection(method, get_Message_1);
- app.RegisterCLRCreateDefaultInstance(type, () => new ETModel.MessageInfo());
- args = new Type[]{typeof(System.UInt16), typeof(System.Object)};
- method = type.GetConstructor(flag, null, args, null);
- app.RegisterCLRMethodRedirection(method, Ctor_0);
- }
- static void WriteBackInstance(ILRuntime.Runtime.Enviorment.AppDomain __domain, StackObject* ptr_of_this_method, IList<object> __mStack, ref ETModel.MessageInfo 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.MessageInfo[];
- instance_of_arrayReference[ptr_of_this_method->ValueLow] = instance_of_this_method;
- }
- break;
- }
- }
- static StackObject* get_Opcode_0(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.MessageInfo instance_of_this_method = (ETModel.MessageInfo)typeof(ETModel.MessageInfo).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
- var result_of_this_method = instance_of_this_method.Opcode;
- 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);
- __ret->ObjectType = ObjectTypes.Integer;
- __ret->Value = result_of_this_method;
- return __ret + 1;
- }
- static StackObject* get_Message_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, 1);
- ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
- ptr_of_this_method = ILIntepreter.GetObjectAndResolveReference(ptr_of_this_method);
- ETModel.MessageInfo instance_of_this_method = (ETModel.MessageInfo)typeof(ETModel.MessageInfo).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
- var result_of_this_method = instance_of_this_method.Message;
- 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);
- object obj_result_of_this_method = result_of_this_method;
- if(obj_result_of_this_method is CrossBindingAdaptorType)
- {
- return ILIntepreter.PushObject(__ret, __mStack, ((CrossBindingAdaptorType)obj_result_of_this_method).ILInstance, true);
- }
- return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method, true);
- }
- static StackObject* Ctor_0(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.Object @message = (System.Object)typeof(System.Object).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
- __intp.Free(ptr_of_this_method);
- ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
- System.UInt16 @opcode = (ushort)ptr_of_this_method->Value;
- var result_of_this_method = new ETModel.MessageInfo(@opcode, @message);
- if(!isNewObj)
- {
- __ret--;
- WriteBackInstance(__domain, __ret, __mStack, ref result_of_this_method);
- return __ret;
- }
- return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
- }
- }
- }
|