Mercurial Hosting > luan
diff core/src/luan/LuanState.java @ 509:e3b0846dc2ef
throw exception for invalid indexes of string, binary, or java
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Fri, 22 May 2015 02:02:49 -0600 |
parents | 92c3d22745b8 |
children | 8dcf9e12446b |
line wrap: on
line diff
--- a/core/src/luan/LuanState.java Thu May 21 20:20:54 2015 -0600 +++ b/core/src/luan/LuanState.java Fri May 22 02:02:49 2015 -0600 @@ -45,6 +45,20 @@ return call(fn); } + public String toString(Object obj) throws LuanException { + if( obj instanceof LuanTable ) { + LuanTable tbl = (LuanTable)obj; + return tbl.toString(this); + } + if( obj == null ) + return "nil"; + if( obj instanceof Number ) + return Luan.toString((Number)obj); + if( obj instanceof byte[] ) + return "binary: " + Integer.toHexString(obj.hashCode()); + return obj.toString(); + } + public final LuanBit bit(LuanElement el) { return new LuanBit(this,el); } @@ -85,10 +99,6 @@ return JAVA.checkFunction(obj); } - public String toString(Object obj) throws LuanException { - return JAVA.toString(obj); - } - public boolean isLessThan(Object o1,Object o2) throws LuanException { return JAVA.isLessThan(o1,o2); }