private static int Print(IntPtr L)
{
int result;
try
{
int num = LuaDLL.lua_gettop(L);
StringBuilder stringBuilder = StringBuilderCache.Acquire(256);
stringBuilder.Append(LuaStatic.LuaWhere(L));
for (int i = 1; i <= num; i++)
{
if (i > 1)
{
stringBuilder.Append(" ");
}
if (LuaDLL.lua_isstring(L, i) == 1)
{
stringBuilder.Append(LuaDLL.lua_tostring(L, i));
}
else if (LuaDLL.lua_isnil(L, i))
{
stringBuilder.Append("nil");
}
else if (LuaDLL.lua_isboolean(L, i))
{
stringBuilder.Append((!LuaDLL.lua_toboolean(L, i)) ? "false" : "true");
}
else
{
IntPtr intPtr = LuaDLL.lua_topointer(L, i);
if (intPtr == IntPtr.Zero)
{
stringBuilder.Append("nil");
}
else
{
stringBuilder.AppendFormat("{0}:0x{1}", LuaDLL.luaL_typename(L, i), intPtr.ToString("X"));
}
}
}
Debugger.Log(stringBuilder.ToString());
result = 0;
}
catch (Exception e)
{
result = LuaDLL.toluaL_exception(L, e, null);
}
return(result);
}