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_LineRenderer_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.LineRenderer);
              args = new Type[]{};
              method = type.GetMethod("get_startWidth", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_startWidth_0);
              args = new Type[]{typeof(System.Single)};
              method = type.GetMethod("set_startWidth", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, set_startWidth_1);
              args = new Type[]{};
              method = type.GetMethod("get_endWidth", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_endWidth_2);
              args = new Type[]{typeof(System.Single)};
              method = type.GetMethod("set_endWidth", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, set_endWidth_3);
              args = new Type[]{};
              method = type.GetMethod("get_widthMultiplier", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_widthMultiplier_4);
              args = new Type[]{typeof(System.Single)};
              method = type.GetMethod("set_widthMultiplier", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, set_widthMultiplier_5);
              args = new Type[]{};
              method = type.GetMethod("get_numCornerVertices", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_numCornerVertices_6);
              args = new Type[]{typeof(System.Int32)};
              method = type.GetMethod("set_numCornerVertices", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, set_numCornerVertices_7);
              args = new Type[]{};
              method = type.GetMethod("get_numCapVertices", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_numCapVertices_8);
              args = new Type[]{typeof(System.Int32)};
              method = type.GetMethod("set_numCapVertices", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, set_numCapVertices_9);
              args = new Type[]{};
              method = type.GetMethod("get_useWorldSpace", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_useWorldSpace_10);
              args = new Type[]{typeof(System.Boolean)};
              method = type.GetMethod("set_useWorldSpace", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, set_useWorldSpace_11);
              args = new Type[]{};
              method = type.GetMethod("get_loop", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_loop_12);
              args = new Type[]{typeof(System.Boolean)};
              method = type.GetMethod("set_loop", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, set_loop_13);
              args = new Type[]{};
              method = type.GetMethod("get_startColor", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_startColor_14);
              args = new Type[]{typeof(UnityEngine.Color)};
              method = type.GetMethod("set_startColor", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, set_startColor_15);
              args = new Type[]{};
              method = type.GetMethod("get_endColor", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_endColor_16);
              args = new Type[]{typeof(UnityEngine.Color)};
              method = type.GetMethod("set_endColor", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, set_endColor_17);
              args = new Type[]{};
              method = type.GetMethod("get_positionCount", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_positionCount_18);
              args = new Type[]{typeof(System.Int32)};
              method = type.GetMethod("set_positionCount", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, set_positionCount_19);
              args = new Type[]{typeof(System.Int32), typeof(UnityEngine.Vector3)};
              method = type.GetMethod("SetPosition", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, SetPosition_20);
              args = new Type[]{typeof(System.Int32)};
              method = type.GetMethod("GetPosition", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, GetPosition_21);
              args = new Type[]{};
              method = type.GetMethod("get_shadowBias", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_shadowBias_22);
              args = new Type[]{typeof(System.Single)};
              method = type.GetMethod("set_shadowBias", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, set_shadowBias_23);
              args = new Type[]{};
              method = type.GetMethod("get_generateLightingData", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_generateLightingData_24);
              args = new Type[]{typeof(System.Boolean)};
              method = type.GetMethod("set_generateLightingData", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, set_generateLightingData_25);
              args = new Type[]{};
              method = type.GetMethod("get_textureMode", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_textureMode_26);
              args = new Type[]{typeof(UnityEngine.LineTextureMode)};
              method = type.GetMethod("set_textureMode", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, set_textureMode_27);
              args = new Type[]{};
              method = type.GetMethod("get_alignment", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_alignment_28);
              args = new Type[]{typeof(UnityEngine.LineAlignment)};
              method = type.GetMethod("set_alignment", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, set_alignment_29);
              args = new Type[]{typeof(System.Single)};
              method = type.GetMethod("Simplify", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, Simplify_30);
              args = new Type[]{typeof(UnityEngine.Mesh), typeof(System.Boolean)};
              method = type.GetMethod("BakeMesh", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, BakeMesh_31);
              args = new Type[]{typeof(UnityEngine.Mesh), typeof(UnityEngine.Camera), typeof(System.Boolean)};
              method = type.GetMethod("BakeMesh", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, BakeMesh_32);
              args = new Type[]{};
              method = type.GetMethod("get_widthCurve", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_widthCurve_33);
              args = new Type[]{typeof(UnityEngine.AnimationCurve)};
              method = type.GetMethod("set_widthCurve", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, set_widthCurve_34);
              args = new Type[]{};
              method = type.GetMethod("get_colorGradient", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_colorGradient_35);
              args = new Type[]{typeof(UnityEngine.Gradient)};
              method = type.GetMethod("set_colorGradient", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, set_colorGradient_36);
              args = new Type[]{typeof(UnityEngine.Vector3[])};
              method = type.GetMethod("GetPositions", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, GetPositions_37);
              args = new Type[]{typeof(UnityEngine.Vector3[])};
              method = type.GetMethod("SetPositions", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, SetPositions_38);
  
  
  
              app.RegisterCLRCreateDefaultInstance(type, () => new UnityEngine.LineRenderer());
              app.RegisterCLRCreateArrayInstance(type, s => new UnityEngine.LineRenderer[s]);
  
              args = new Type[]{};
              method = type.GetConstructor(flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, Ctor_0);
  
          }
  
  
          static StackObject* get_startWidth_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.LineRenderer instance_of_this_method = (UnityEngine.LineRenderer)typeof(UnityEngine.LineRenderer).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              var result_of_this_method = instance_of_this_method.startWidth;
  
              __ret->ObjectType = ObjectTypes.Float;
              *(float*)&__ret->Value = result_of_this_method;
              return __ret + 1;
          }
  
          static StackObject* set_startWidth_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, 2);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Single @value = *(float*)&ptr_of_this_method->Value;
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              UnityEngine.LineRenderer instance_of_this_method = (UnityEngine.LineRenderer)typeof(UnityEngine.LineRenderer).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              instance_of_this_method.startWidth = value;
  
              return __ret;
          }
  
          static StackObject* get_endWidth_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, 1);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              UnityEngine.LineRenderer instance_of_this_method = (UnityEngine.LineRenderer)typeof(UnityEngine.LineRenderer).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              var result_of_this_method = instance_of_this_method.endWidth;
  
              __ret->ObjectType = ObjectTypes.Float;
              *(float*)&__ret->Value = result_of_this_method;
              return __ret + 1;
          }
  
          static StackObject* set_endWidth_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, 2);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Single @value = *(float*)&ptr_of_this_method->Value;
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              UnityEngine.LineRenderer instance_of_this_method = (UnityEngine.LineRenderer)typeof(UnityEngine.LineRenderer).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              instance_of_this_method.endWidth = value;
  
              return __ret;
          }
  
          static StackObject* get_widthMultiplier_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, 1);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              UnityEngine.LineRenderer instance_of_this_method = (UnityEngine.LineRenderer)typeof(UnityEngine.LineRenderer).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              var result_of_this_method = instance_of_this_method.widthMultiplier;
  
              __ret->ObjectType = ObjectTypes.Float;
              *(float*)&__ret->Value = result_of_this_method;
              return __ret + 1;
          }
  
          static StackObject* set_widthMultiplier_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, 2);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Single @value = *(float*)&ptr_of_this_method->Value;
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              UnityEngine.LineRenderer instance_of_this_method = (UnityEngine.LineRenderer)typeof(UnityEngine.LineRenderer).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              instance_of_this_method.widthMultiplier = value;
  
              return __ret;
          }
  
          static StackObject* get_numCornerVertices_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.LineRenderer instance_of_this_method = (UnityEngine.LineRenderer)typeof(UnityEngine.LineRenderer).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              var result_of_this_method = instance_of_this_method.numCornerVertices;
  
              __ret->ObjectType = ObjectTypes.Integer;
              __ret->Value = result_of_this_method;
              return __ret + 1;
          }
  
          static StackObject* set_numCornerVertices_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, 2);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Int32 @value = ptr_of_this_method->Value;
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              UnityEngine.LineRenderer instance_of_this_method = (UnityEngine.LineRenderer)typeof(UnityEngine.LineRenderer).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              instance_of_this_method.numCornerVertices = value;
  
              return __ret;
          }
  
          static StackObject* get_numCapVertices_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.LineRenderer instance_of_this_method = (UnityEngine.LineRenderer)typeof(UnityEngine.LineRenderer).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              var result_of_this_method = instance_of_this_method.numCapVertices;
  
              __ret->ObjectType = ObjectTypes.Integer;
              __ret->Value = result_of_this_method;
              return __ret + 1;
          }
  
          static StackObject* set_numCapVertices_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, 2);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Int32 @value = ptr_of_this_method->Value;
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              UnityEngine.LineRenderer instance_of_this_method = (UnityEngine.LineRenderer)typeof(UnityEngine.LineRenderer).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              instance_of_this_method.numCapVertices = value;
  
              return __ret;
          }
  
          static StackObject* get_useWorldSpace_10(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.LineRenderer instance_of_this_method = (UnityEngine.LineRenderer)typeof(UnityEngine.LineRenderer).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              var result_of_this_method = instance_of_this_method.useWorldSpace;
  
              __ret->ObjectType = ObjectTypes.Integer;
              __ret->Value = result_of_this_method ? 1 : 0;
              return __ret + 1;
          }
  
          static StackObject* set_useWorldSpace_11(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);
  
  
gt:             ptr_of_this_method = ILIntepreter.Minus(__esp, 1);