Mercurial Hosting > luan
diff src/luan/interp/LuaStateImpl.java @ 36:2a35154aec14
implement more basic lib functions
git-svn-id: https://luan-java.googlecode.com/svn/trunk@37 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Tue, 18 Dec 2012 09:53:42 +0000 |
parents | 0cdc1da466ee |
children | 8a57ebfdfd78 |
line wrap: on
line diff
--- a/src/luan/interp/LuaStateImpl.java Tue Dec 18 07:05:58 2012 +0000 +++ b/src/luan/interp/LuaStateImpl.java Tue Dec 18 09:53:42 2012 +0000 @@ -1,8 +1,10 @@ package luan.interp; +import luan.Lua; import luan.LuaState; import luan.LuaTable; import luan.LuaFunction; +import luan.LuaException; final class LuaStateImpl implements LuaState { @@ -12,6 +14,14 @@ return global; } + @Override public String toString(Object obj) throws LuaException { + LuaFunction fn = Utils.getHandlerFunction("__tostring",obj); + if( fn != null ) + return Lua.checkString( Utils.first( fn.call(this,obj) ) ); + if( obj == null ) + return "nil"; + return obj.toString(); + } private static class Frame { final Frame previousFrame;