Mercurial Hosting > luan
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);