// new int[5]
static Parser<Expression> newArrayWithExplicitLength(Parser<Expression> expr) {
return new Mapper<Expression>() {
@SuppressWarnings("unused")
Expression map(TypeLiteral type, Expression length, List<Expression> values) {
return new NewArrayExpression(type, length, values);
}
}.sequence(term("new"), TypeLiteralParser.TYPE_LITERAL,
term("["), expr, term("]"),
between(term("{"), expr.sepBy(term(",")), term("}")).optional());
}