Mercurial Hosting > luan
changeset 510:2da0bcb979b5
better error messages
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Fri, 22 May 2015 02:28:15 -0600 |
parents | e3b0846dc2ef |
children | e3fb9768dbb3 |
files | core/src/luan/LuanTable.java core/src/luan/impl/IndexExpr.java core/src/luan/modules/BinaryLuan.java core/src/luan/modules/JavaLuan.java core/src/luan/modules/StringLuan.java |
diffstat | 5 files changed, 10 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
diff -r e3b0846dc2ef -r 2da0bcb979b5 core/src/luan/LuanTable.java --- a/core/src/luan/LuanTable.java Fri May 22 02:02:49 2015 -0600 +++ b/core/src/luan/LuanTable.java Fri May 22 02:28:15 2015 -0600 @@ -139,7 +139,7 @@ else if( bit.el==null ) throw bit.exception( "attempt to index a " + Luan.type(obj) + " value" ); else - throw bit.exception( "attempt to index '"+bit.el.text()+"' (a " + Luan.type(obj) + " value)" ); + throw bit.exception( "attempt to index a " + Luan.type(obj) + " value in '"+bit.el.text()+"'" ); } public Object rawGet(Object key) {
diff -r e3b0846dc2ef -r 2da0bcb979b5 core/src/luan/impl/IndexExpr.java --- a/core/src/luan/impl/IndexExpr.java Fri May 22 02:02:49 2015 -0600 +++ b/core/src/luan/impl/IndexExpr.java Fri May 22 02:28:15 2015 -0600 @@ -12,7 +12,7 @@ } @Override public Object eval(LuanStateImpl luan) throws LuanException { - return LuanTable.index( luan.bit(op1.el()), op1.eval(luan), op2.eval(luan) ); + return LuanTable.index( luan.bit(el()), op1.eval(luan), op2.eval(luan) ); } }
diff -r e3b0846dc2ef -r 2da0bcb979b5 core/src/luan/modules/BinaryLuan.java --- a/core/src/luan/modules/BinaryLuan.java Fri May 22 02:02:49 2015 -0600 +++ b/core/src/luan/modules/BinaryLuan.java Fri May 22 02:28:15 2015 -0600 @@ -27,9 +27,9 @@ }; } if( bit.el != null ) - throw bit.exception( "invalid index ["+luan.toString(key)+"] for binary ("+bit.el.text()+")" ) ; + throw bit.exception( "invalid index for binary in '"+bit.el.text()+"'" ) ; else - throw bit.exception( "invalid index ["+luan.toString(key)+"] for binary") ; + throw bit.exception( "invalid index for binary") ; } static int start(byte[] binary,int i) {
diff -r e3b0846dc2ef -r 2da0bcb979b5 core/src/luan/modules/JavaLuan.java --- a/core/src/luan/modules/JavaLuan.java Fri May 22 02:02:49 2015 -0600 +++ b/core/src/luan/modules/JavaLuan.java Fri May 22 02:28:15 2015 -0600 @@ -55,9 +55,9 @@ if( rtn != FAIL ) return rtn; if( bit.el != null ) - throw bit.exception( "invalid index ["+luan.toString(key)+"] for ("+bit.el.text()+") java: "+obj.getClass() ); + throw bit.exception( "invalid index for java "+obj.getClass()+" in '"+bit.el.text()+"'" ); else - throw bit.exception( "invalid index ["+luan.toString(key)+"] for java: "+obj.getClass() ); + throw bit.exception( "invalid index for java "+obj.getClass() ); } public static Object __index(LuanState luan,Object obj,Object key) throws LuanException { @@ -105,9 +105,8 @@ if( i != null ) { return Array.get(obj,i); } - throw luan.exception("invalid member '"+key+"' for java array: "+obj); - } - if( key instanceof String ) { +// throw luan.exception("invalid member '"+key+"' for java array: "+obj); + } else if( key instanceof String ) { String name = (String)key; if( "instanceof".equals(name) ) { return new LuanJavaFunction(instanceOf,new InstanceOf(obj));
diff -r e3b0846dc2ef -r 2da0bcb979b5 core/src/luan/modules/StringLuan.java --- a/core/src/luan/modules/StringLuan.java Fri May 22 02:02:49 2015 -0600 +++ b/core/src/luan/modules/StringLuan.java Fri May 22 02:28:15 2015 -0600 @@ -36,9 +36,9 @@ return rtn; } if( bit.el != null ) - throw bit.exception( "invalid index ["+luan.toString(key)+"] for string ("+bit.el.text()+")" ) ; + throw bit.exception( "invalid index for string in '"+bit.el.text()+"'" ) ; else - throw bit.exception( "invalid index ["+luan.toString(key)+"] for string") ; + throw bit.exception( "invalid index for string") ; } static int start(String s,int i) {