Mercurial Hosting > luan
diff core/src/luan/modules/JavaLuan.java @ 421:b31d614343e8
add Io.LuanString.text_writer();
improve java related errors;
fix to_string;
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Fri, 01 May 2015 15:13:14 -0600 |
parents | d55e873e1f0d |
children | 23a93c118042 |
line wrap: on
line diff
--- a/core/src/luan/modules/JavaLuan.java Fri May 01 14:23:17 2015 -0600 +++ b/core/src/luan/modules/JavaLuan.java Fri May 01 15:13:14 2015 -0600 @@ -52,8 +52,7 @@ } public static Object __index(LuanState luan,Object obj,Object key) throws LuanException { - if( !luan.currentEnvironment().hasJava() ) - return null; + checkJava(luan); if( obj instanceof Static ) { if( key instanceof String ) { String name = (String)key; @@ -143,9 +142,8 @@ } } - public static boolean __newindex(LuanState luan,Object obj,Object key,Object value) throws LuanException { - if( !luan.currentEnvironment().hasJava() ) - return false; + public static void __newindex(LuanState luan,Object obj,Object key,Object value) throws LuanException { + checkJava(luan); if( obj instanceof Static ) { if( key instanceof String ) { String name = (String)key; @@ -156,7 +154,7 @@ if( members.size() != 1 ) throw new RuntimeException("not field '"+name+"' of "+obj); setMember(obj,members,value); - return true; + return; } } throw luan.exception("invalid member '"+key+"' for: "+obj); @@ -166,7 +164,7 @@ Integer i = Luan.asInteger(key); if( i != null ) { Array.set(obj,i,value); - return true; + return; } throw luan.exception("invalid member '"+key+"' for java array: "+obj); } @@ -177,7 +175,7 @@ if( members.size() != 1 ) throw new RuntimeException("not field '"+name+"' of "+obj); setMember(obj,members,value); - return true; + return; } } throw luan.exception("invalid member '"+key+"' for java object: "+obj);