public void visit(TableConstructor table) {
int n = table.fields!=null? table.fields.size(): 0;
List<TableField> keyed = new ArrayList<TableField>();
List<TableField> list = new ArrayList<TableField>();
for ( int i=0; i<n; i++ ) {
TableField f = (TableField) table.fields.get(i);
(( f.name != null || f.index != null )? keyed: list).add(f);
}
int nk = keyed.size();
int nl = list.size();
out( (nk==0 && nl!=0)? "LuaValue.listOf(": "LuaValue.tableOf(" );
// named elements
if ( nk != 0 ) {
out( "new LuaValue[]{");
for ( int i=0, nf=keyed.size(); i<nf; i++ ) {
TableField f = (TableField) keyed.get(i);
if ( f.name != null )
out( evalStringConstant(f.name)+"," );
else
out( evalLuaValue(f.index)+"," );
out( evalLuaValue(f.rhs)+"," );