src/share/classes/com/sun/tools/javac/parser/JavacParser.java

changeset 1348
573ceb23beeb
parent 1346
20e4a54b1629
child 1352
d4b3cb1ece84
     1.1 --- a/src/share/classes/com/sun/tools/javac/parser/JavacParser.java	Thu Oct 04 13:04:53 2012 +0100
     1.2 +++ b/src/share/classes/com/sun/tools/javac/parser/JavacParser.java	Fri Oct 05 14:35:24 2012 +0100
     1.3 @@ -950,12 +950,13 @@
     1.4              break;
     1.5          case LPAREN:
     1.6              if (typeArgs == null && (mode & EXPR) != 0) {
     1.7 -                if (peekToken(FINAL) ||
     1.8 +                if (peekToken(MONKEYS_AT) ||
     1.9 +                        peekToken(FINAL) ||
    1.10                          peekToken(RPAREN) ||
    1.11                          peekToken(IDENTIFIER, COMMA) ||
    1.12                          peekToken(IDENTIFIER, RPAREN, ARROW)) {
    1.13                      //implicit n-ary lambda
    1.14 -                    t = lambdaExpressionOrStatement(true, peekToken(FINAL), pos);
    1.15 +                    t = lambdaExpressionOrStatement(true, peekToken(MONKEYS_AT) || peekToken(FINAL), pos);
    1.16                      break;
    1.17                  } else {
    1.18                      nextToken();
    1.19 @@ -1343,11 +1344,6 @@
    1.20      }
    1.21  
    1.22      JCExpression lambdaExpressionOrStatementRest(List<JCVariableDecl> args, int pos) {
    1.23 -        if (token.kind != ARROW) {
    1.24 -            //better error recovery
    1.25 -            return F.at(pos).Erroneous(args);
    1.26 -        }
    1.27 -
    1.28          checkLambda();
    1.29          accept(ARROW);
    1.30  

mercurial