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);