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