From 42a3be2171235b3de025f2fc64daf9bc1fe01ae2 Mon Sep 17 00:00:00 2001 From: rude Date: Sun, 6 Sep 2009 12:56:53 +0200 Subject: [PATCH] Added __tostring for all types. --- src/common/runtime.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/common/runtime.cpp b/src/common/runtime.cpp index caeb31742..73f157cd3 100644 --- a/src/common/runtime.cpp +++ b/src/common/runtime.cpp @@ -44,6 +44,12 @@ namespace love return 0; } + static int w__tostring(lua_State * L) + { + lua_pushvalue(L, lua_upvalueindex(1)); + return 1; + } + Reference * luax_refif(lua_State * L, int type) { Reference * r = 0; @@ -177,6 +183,11 @@ namespace love lua_pushcfunction(L, w__gc); lua_setfield(L, -2, "__gc"); + // Add tostring function. + lua_pushstring(L, tname); + lua_pushcclosure(L, w__tostring, 1); + lua_setfield(L, -2, "__tostring"); + if(f != 0) luaL_register(L, 0, f);