static int Call(IntPtr L)
 {
     try
     {
         LuaInterface.LuaConstructor obj = (LuaInterface.LuaConstructor)ToLua.CheckObject(L, 1, typeof(LuaInterface.LuaConstructor));
         return(obj.Call(L));
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
 static int Destroy(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         LuaInterface.LuaConstructor obj = (LuaInterface.LuaConstructor)ToLua.CheckObject(L, 1, typeof(LuaInterface.LuaConstructor));
         obj.Destroy();
         ToLua.Destroy(L);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
 static void PushLuaConstructor(IntPtr L, ConstructorInfo func, Type[] types)
 {
     if (func != null)
     {
         LuaConstructor lm = new LuaConstructor(func, types);
         ToLua.PushObject(L, lm);
     }
     else
     {
         LuaDLL.lua_pushnil(L);
     }
 }