diff src/luan/interp/TableExpr.java @ 25:0e406bd9ac7b

fix table constructors git-svn-id: https://luan-java.googlecode.com/svn/trunk@26 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Thu, 06 Dec 2012 09:36:24 +0000
parents b7d7069fee58
children 5cf15507d77e
line wrap: on
line diff
--- a/src/luan/interp/TableExpr.java	Thu Dec 06 04:40:54 2012 +0000
+++ b/src/luan/interp/TableExpr.java	Thu Dec 06 09:36:24 2012 +0000
@@ -3,6 +3,7 @@
 import luan.LuaException;
 import luan.LuaState;
 import luan.LuaTable;
+import luan.LuaNumber;
 
 
 final class TableExpr implements Expr {
@@ -18,9 +19,11 @@
 	}
 
 	private final Field[] fields;
+	private final Expressions expressions;
 
-	TableExpr(Field[] fields) {
+	TableExpr(Field[] fields,Expressions expressions) {
 		this.fields = fields;
+		this.expressions = expressions;
 	}
 
 	@Override public Object eval(LuaState lua) throws LuaException {
@@ -28,6 +31,10 @@
 		for( Field field : fields ) {
 			table.set( field.key.eval(lua), field.value.eval(lua) );
 		}
+		Object[] a = expressions.eval(lua);
+		for( int i=0; i<a.length; i++ ) {
+			table.set( new LuaNumber(i+1), a[i] );
+		}
 		return table;
 	}
 }