changeset 1252:aa8517d7c065

convert primitive array to table
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 30 Aug 2018 10:58:19 -0600
parents ddd2ec2c0769
children 23e8f93055a4
files src/luan/LuanJavaFunction.java
diffstat 1 files changed, 12 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/luan/LuanJavaFunction.java	Mon Jul 23 20:04:14 2018 -0600
+++ b/src/luan/LuanJavaFunction.java	Thu Aug 30 10:58:19 2018 -0600
@@ -360,9 +360,18 @@
 				return new LuanTable((Set)obj);
 			}
 			Class cls = obj.getClass();
-			if( cls.isArray() && !cls.getComponentType().isPrimitive() ) {
-				Object[] a = (Object[])obj;
-				return new LuanTable(Arrays.asList(a));
+			if( cls.isArray() ) {
+				if( cls.getComponentType().isPrimitive() ) {
+					int len = Array.getLength(obj);
+					List list = new ArrayList();
+					for( int i=0; i<len; i++ ) {
+						list.add(Array.get(obj,i));
+					}
+					return new LuanTable(list);
+				} else {
+					Object[] a = (Object[])obj;
+					return new LuanTable(Arrays.asList(a));
+				}
 			}
 			return obj;
 		}