// new a class instance
static Parser<Expression> simpleNewExpression(Parser<Expression> arg, Parser<DefBody> body) {
return new Mapper<Expression>() {
@SuppressWarnings("unused")
Expression map(TypeLiteral type, List<Expression> args, DefBody defBody) {
return new NewExpression(null, type, args, defBody);
}
}.sequence(term("new"), TypeLiteralParser.ELEMENT_TYPE_LITERAL,
argumentList(arg), body.optional());
}