static int log(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (TypeChecker.CheckTypes <UnityEngine.Object, string>(L, 1) && TypeChecker.CheckParamsType <object>(L, 3, count - 2))
            {
                UnityEngine.Object arg0 = (UnityEngine.Object)ToLua.ToObject(L, 1);
                string             arg1 = ToLua.ToString(L, 2);
                object[]           arg2 = ToLua.ToParamsObject(L, 3, count - 2);
                LogProxy.log(arg0, arg1, arg2);
                return(0);
            }
            else if (TypeChecker.CheckTypes <string>(L, 1) && TypeChecker.CheckParamsType <object>(L, 2, count - 1))
            {
                string   arg0 = ToLua.ToString(L, 1);
                object[] arg1 = ToLua.ToParamsObject(L, 2, count - 1);
                LogProxy.log(arg0, arg1);
                return(0);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to method: LogProxy.log"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }