diff src/luan/lib/JavaLib.java @ 46:a443637829c1

remove LuaNumber git-svn-id: https://luan-java.googlecode.com/svn/trunk@47 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Thu, 27 Dec 2012 01:48:36 +0000
parents 57054fa43189
children 64ecb7a3aad7
line wrap: on
line diff
--- a/src/luan/lib/JavaLib.java	Thu Dec 27 00:44:58 2012 +0000
+++ b/src/luan/lib/JavaLib.java	Thu Dec 27 01:48:36 2012 +0000
@@ -11,7 +11,7 @@
 import java.util.List;
 import java.util.ArrayList;
 import java.util.Iterator;
-import luan.LuaNumber;
+import luan.Lua;
 import luan.LuaState;
 import luan.LuaTable;
 import luan.MetatableGetter;
@@ -92,13 +92,9 @@
 			if( "length".equals(key) ) {
 				return Array.getLength(obj);
 			}
-			if( key instanceof LuaNumber ) {
-				LuaNumber n = (LuaNumber)key;
-				double d = n.value();
-				int i = (int)d;
-				if( d==i ) {
-					return Array.get(obj,i);
-				}
+			Integer i = Lua.asInteger(key);
+			if( i != null ) {
+				return Array.get(obj,i);
 			}
 			throw new LuaException(lua,LuaElement.JAVA,"invalid index for java array: "+key);
 		}
@@ -122,12 +118,7 @@
 				Member member = members.get(0);
 				if( member instanceof Field ) {
 					Field field = (Field)member;
-					Object value = field.get(obj);
-					if( value instanceof Number ) {
-						Number n = (Number)value;
-						value = LuaNumber.of(n);
-					}
-					return value;
+					return field.get(obj);
 				} else {
 					Method method = (Method)member;
 					return new LuaJavaFunction(method,obj);