static int GetTypeMethod(IntPtr L) { try { int count = LuaDLL.lua_gettop(L); if (count == 2 && TypeChecker.CheckTypes <Type, string>(L, 1)) { Type obj = (Type)ToLua.ToObject(L, 1); string arg0 = ToLua.ToString(L, 2); MethodInfo o = obj.GetMethod(arg0); PushLuaMethod(L, o, obj, null); return(1); } else if (count == 3 && TypeChecker.CheckTypes <Type, string, Type[]>(L, 1)) { Type obj = (Type)ToLua.ToObject(L, 1); string arg0 = ToLua.ToString(L, 2); Type[] arg1 = ToLua.ToObjectArray <Type>(L, 3); MethodInfo o = obj.GetMethod(arg0, arg1); PushLuaMethod(L, o, obj, arg1); return(1); } else if (count == 3 && TypeChecker.CheckTypes <Type, string, uint>(L, 1)) { Type obj = (Type)ToLua.ToObject(L, 1); string arg0 = ToLua.ToString(L, 2); BindingFlags arg1 = (BindingFlags)LuaDLL.lua_tonumber(L, 3); MethodInfo o = obj.GetMethod(arg0, arg1); PushLuaMethod(L, o, obj, null); return(1); } else if (count == 4 && TypeChecker.CheckTypes <Type, string, Type[], ParameterModifier[]>(L, 1)) { Type obj = (Type)ToLua.ToObject(L, 1); string arg0 = ToLua.ToString(L, 2); Type[] arg1 = ToLua.ToObjectArray <System.Type>(L, 3); ParameterModifier[] arg2 = ToLua.ToStructArray <ParameterModifier>(L, 4); MethodInfo o = obj.GetMethod(arg0, arg1, arg2); PushLuaMethod(L, o, obj, arg1); return(1); } else if (count == 6 && TypeChecker.CheckTypes <Type, string, uint, Binder, Type[], ParameterModifier[]> (L, 1)) { System.Type obj = (System.Type)ToLua.ToObject(L, 1); string arg0 = ToLua.ToString(L, 2); BindingFlags arg1 = (BindingFlags)LuaDLL.lua_tonumber(L, 3); Binder arg2 = (Binder)ToLua.ToObject(L, 4); Type[] arg3 = ToLua.ToObjectArray <Type>(L, 5); ParameterModifier[] arg4 = ToLua.ToStructArray <ParameterModifier>(L, 6); MethodInfo o = obj.GetMethod(arg0, arg1, arg2, arg3, arg4); PushLuaMethod(L, o, obj, arg3); return(1); } else if (count == 7 && TypeChecker.CheckTypes <Type, string, uint, Binder, CallingConventions, Type[], ParameterModifier[]> (L, 1)) { Type obj = (Type)ToLua.ToObject(L, 1); string arg0 = ToLua.ToString(L, 2); BindingFlags arg1 = (BindingFlags)LuaDLL.lua_tonumber(L, 3); Binder arg2 = (Binder)ToLua.ToObject(L, 4); CallingConventions arg3 = (CallingConventions)ToLua.ToObject(L, 5); Type[] arg4 = ToLua.ToObjectArray <Type>(L, 6); ParameterModifier[] arg5 = ToLua.ToStructArray <ParameterModifier>(L, 7); MethodInfo o = obj.GetMethod(arg0, arg1, arg2, arg3, arg4, arg5); PushLuaMethod(L, o, obj, arg4); return(1); } else { return(LuaDLL.luaL_throw(L, "invalid arguments to method: tolua.gettypemethod")); } } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int GetProperty(IntPtr L) { try { int count = LuaDLL.lua_gettop(L); if (count == 2 && TypeChecker.CheckTypes <Type, string>(L, 1)) { Type obj = (Type)ToLua.ToObject(L, 1); string arg0 = ToLua.ToString(L, 2); PropertyInfo o = obj.GetProperty(arg0); PushLuaProperty(L, o, obj); return(1); } else if (count == 3 && TypeChecker.CheckTypes <Type, string, Type[]>(L, 1)) { Type obj = (Type)ToLua.ToObject(L, 1); string arg0 = ToLua.ToString(L, 2); Type[] arg1 = ToLua.ToObjectArray <Type>(L, 3); PropertyInfo o = obj.GetProperty(arg0, arg1); PushLuaProperty(L, o, obj); return(1); } else if (count == 3 && TypeChecker.CheckTypes <Type, string, Type>(L, 1)) { Type obj = (Type)ToLua.ToObject(L, 1); string arg0 = ToLua.ToString(L, 2); Type arg1 = (Type)ToLua.ToObject(L, 3); PropertyInfo o = obj.GetProperty(arg0, arg1); PushLuaProperty(L, o, obj); return(1); } else if (count == 3 && TypeChecker.CheckTypes <Type, string, uint>(L, 1)) { Type obj = (Type)ToLua.ToObject(L, 1); string arg0 = ToLua.ToString(L, 2); BindingFlags arg1 = (BindingFlags)LuaDLL.lua_tonumber(L, 3); PropertyInfo o = obj.GetProperty(arg0, arg1); PushLuaProperty(L, o, obj); return(1); } else if (count == 4 && TypeChecker.CheckTypes <Type, string, Type, Type[]>(L, 1)) { Type obj = (Type)ToLua.ToObject(L, 1); string arg0 = ToLua.ToString(L, 2); Type arg1 = (Type)ToLua.ToObject(L, 3); Type[] arg2 = ToLua.ToObjectArray <Type>(L, 4); PropertyInfo o = obj.GetProperty(arg0, arg1, arg2); PushLuaProperty(L, o, obj); return(1); } else if (count == 5 && TypeChecker.CheckTypes <Type, string, Type, Type[], ParameterModifier[]> (L, 1)) { Type obj = (Type)ToLua.ToObject(L, 1); string arg0 = ToLua.ToString(L, 2); Type arg1 = (Type)ToLua.ToObject(L, 3); Type[] arg2 = ToLua.ToObjectArray <Type>(L, 4); ParameterModifier[] arg3 = ToLua.ToStructArray <ParameterModifier>(L, 5); PropertyInfo o = obj.GetProperty(arg0, arg1, arg2, arg3); PushLuaProperty(L, o, obj); return(1); } else if (count == 7 && TypeChecker.CheckTypes <Type, string, uint, Binder, Type, Type[], ParameterModifier[]> (L, 1)) { Type obj = (Type)ToLua.ToObject(L, 1); string arg0 = ToLua.ToString(L, 2); BindingFlags arg1 = (BindingFlags)LuaDLL.lua_tonumber(L, 3); Binder arg2 = (Binder)ToLua.ToObject(L, 4); Type arg3 = (Type)ToLua.ToObject(L, 5); Type[] arg4 = ToLua.ToObjectArray <Type>(L, 6); ParameterModifier[] arg5 = ToLua.ToStructArray <ParameterModifier>(L, 7); PropertyInfo o = obj.GetProperty(arg0, arg1, arg2, arg3, arg4, arg5); PushLuaProperty(L, o, obj); return(1); } else { return(LuaDLL.luaL_throw(L, "invalid arguments to method: tolua.getproperty")); } } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
public Type[] ToTypeArray(IntPtr L, int stackPos) { return(ToLua.ToObjectArray <Type>(L, stackPos)); }