context: 
  #if CSHotFix
  using System;
  using System.Collections.Generic;
  using System.Reflection;
  using System.Runtime.InteropServices;
  
  using CSHotFix.CLR.TypeSystem;
  using CSHotFix.CLR.Method;
  using CSHotFix.Runtime.Enviorment;
  using CSHotFix.Runtime.Intepreter;
  using CSHotFix.Runtime.Stack;
  using CSHotFix.Reflection;
  using CSHotFix.CLR.Utils;
  using System.Linq;
  namespace CSHotFix.Runtime.Generated
  {
      unsafe class UnityEngine_EventSystems_BaseInputModule_Binding
      {
          public static void Register(CSHotFix.Runtime.Enviorment.AppDomain app)
          {
              BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
              MethodBase method;
              Type[] args;
              Type type = typeof(UnityEngine.EventSystems.BaseInputModule);
              args = new Type[]{};
              method = type.GetMethod("get_input", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_input_0);
              args = new Type[]{};
              method = type.GetMethod("get_inputOverride", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_inputOverride_1);
              args = new Type[]{typeof(UnityEngine.EventSystems.BaseInput)};
              method = type.GetMethod("set_inputOverride", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, set_inputOverride_2);
              args = new Type[]{};
              method = type.GetMethod("Process", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, Process_3);
              args = new Type[]{typeof(System.Int32)};
              method = type.GetMethod("IsPointerOverGameObject", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, IsPointerOverGameObject_4);
              args = new Type[]{};
              method = type.GetMethod("ShouldActivateModule", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, ShouldActivateModule_5);
              args = new Type[]{};
              method = type.GetMethod("DeactivateModule", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, DeactivateModule_6);
              args = new Type[]{};
              method = type.GetMethod("ActivateModule", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, ActivateModule_7);
              args = new Type[]{};
              method = type.GetMethod("UpdateModule", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, UpdateModule_8);
              args = new Type[]{};
              method = type.GetMethod("IsModuleSupported", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, IsModuleSupported_9);
  
  
  
              app.RegisterCLRCreateArrayInstance(type, s => new UnityEngine.EventSystems.BaseInputModule[s]);
  
  
          }
  
  
          static StackObject* get_input_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.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);
              UnityEngine.EventSystems.BaseInputModule instance_of_this_method = (UnityEngine.EventSystems.BaseInputModule)typeof(UnityEngine.EventSystems.BaseInputModule).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              var result_of_this_method = instance_of_this_method.input;
  
              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);
              }
              return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
          }
  
          static StackObject* get_inputOverride_1(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.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);
              UnityEngine.EventSystems.BaseInputModule instance_of_this_method = (UnityEngine.EventSystems.BaseInputModule)typeof(UnityEngine.EventSystems.BaseInputModule).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              var result_of_this_method = instance_of_this_method.inputOverride;
  
              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);
              }
              return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
          }
  
          static StackObject* set_inputOverride_2(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.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);
              UnityEngine.EventSystems.BaseInput @value = (UnityEngine.EventSystems.BaseInput)typeof(UnityEngine.EventSystems.BaseInput).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              UnityEngine.EventSystems.BaseInputModule instance_of_this_method = (UnityEngine.EventSystems.BaseInputModule)typeof(UnityEngine.EventSystems.BaseInputModule).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              instance_of_this_method.inputOverride = value;
  
              return __ret;
          }
  
          static StackObject* Process_3(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.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);
              UnityEngine.EventSystems.BaseInputModule instance_of_this_method = (UnityEngine.EventSystems.BaseInputModule)typeof(UnityEngine.EventSystems.BaseInputModule).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              instance_of_this_method.Process();
  
              return __ret;
          }
  
          static StackObject* IsPointerOverGameObject_4(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.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.Int32 @pointerId = ptr_of_this_method->Value;
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              UnityEngine.EventSystems.BaseInputModule instance_of_this_method = (UnityEngine.EventSystems.BaseInputModule)typeof(UnityEngine.EventSystems.BaseInputModule).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              var result_of_this_method = instance_of_this_method.IsPointerOverGameObject(@pointerId);
  
              __ret->ObjectType = ObjectTypes.Integer;
              __ret->Value = result_of_this_method ? 1 : 0;
              return __ret + 1;
          }
  
          static StackObject* ShouldActivateModule_5(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.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);
              UnityEngine.EventSystems.BaseInputModule instance_of_this_method = (UnityEngine.EventSystems.BaseInputModule)typeof(UnityEngine.EventSystems.BaseInputModule).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              var result_of_this_method = instance_of_this_method.ShouldActivateModule();
  
              __ret->ObjectType = ObjectTypes.Integer;
              __ret->Value = result_of_this_method ? 1 : 0;
              return __ret + 1;
          }
  
          static StackObject* DeactivateModule_6(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.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);
              UnityEngine.EventSystems.BaseInputModule instance_of_this_method = (UnityEngine.EventSystems.BaseInputModule)typeof(UnityEngine.EventSystems.BaseInputModule).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              instance_of_this_method.DeactivateModule();
  
              return __ret;
          }
  
          static StackObject* ActivateModule_7(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.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);
              UnityEngine.EventSystems.BaseInputModule instance_of_this_method = (UnityEngine.EventSystems.BaseInputModule)typeof(UnityEngine.EventSystems.BaseInputModule).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              instance_of_this_method.ActivateModule();
  
              return __ret;
          }
  
          static StackObject* UpdateModule_8(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.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);
              UnityEngine.EventSystems.BaseInputModule instance_of_this_method = (UnityEngine.EventSystems.BaseInputModule)typeof(UnityEngine.EventSystems.BaseInputModule).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              instance_of_this_method.UpdateModule();
  
              return __ret;
          }
  
          static StackObject* IsModuleSupported_9(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.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);
              UnityEngine.EventSystems.BaseInputModule instance_of_this_method = (UnityEngine.EventSystems.BaseInputModule)typeof(UnityEngine.EventSystems.BaseInputModule).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              var result_of_this_method = instance_of_this_method.IsModuleSupported();
  
              __ret->ObjectType = ObjectTypes.Integer;
  
gt:             __ret->Value = result_of_this_method ? 1 : 0;