diff src/luan/interp/TableExpr.java @ 111:2428ecfed375

change LuanFunction.call() from returning Object[] to returning Object, to reduce garbage collection git-svn-id: https://luan-java.googlecode.com/svn/trunk@112 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Fri, 23 May 2014 20:40:05 +0000
parents 8ede219cd111
children
line wrap: on
line diff
--- a/src/luan/interp/TableExpr.java	Fri May 23 04:36:47 2014 +0000
+++ b/src/luan/interp/TableExpr.java	Fri May 23 20:40:05 2014 +0000
@@ -31,9 +31,14 @@
 		for( Field field : fields ) {
 			table.put( field.key.eval(luan), field.value.eval(luan) );
 		}
-		Object[] a = expressions.eval(luan);
-		for( int i=0; i<a.length; i++ ) {
-			table.put( i+1, a[i] );
+		Object obj = expressions.eval(luan);
+		if( obj instanceof Object[] ) {
+			Object[] a = (Object[])obj;
+			for( int i=0; i<a.length; i++ ) {
+				table.put( i+1, a[i] );
+			}
+		} else {
+			table.put( 1, obj );
 		}
 		return table;
 	}