langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java
changeset 12715 139b8354de6a
parent 12466 08863ee323df
child 13077 16fb753bb5dc
equal deleted inserted replaced
12714:73f1f7097c5e 12715:139b8354de6a
  2204         if (token.kind == FINAL || token.kind == MONKEYS_AT) {
  2204         if (token.kind == FINAL || token.kind == MONKEYS_AT) {
  2205             return variableDeclarators(optFinal(0), parseType(), stats).toList();
  2205             return variableDeclarators(optFinal(0), parseType(), stats).toList();
  2206         } else {
  2206         } else {
  2207             JCExpression t = term(EXPR | TYPE);
  2207             JCExpression t = term(EXPR | TYPE);
  2208             if ((lastmode & TYPE) != 0 &&
  2208             if ((lastmode & TYPE) != 0 &&
  2209                 (token.kind == IDENTIFIER || token.kind == ASSERT || token.kind == ENUM))
  2209                 (token.kind == IDENTIFIER || token.kind == ASSERT ||
       
  2210                  token.kind == ENUM)) {
  2210                 return variableDeclarators(modifiersOpt(), t, stats).toList();
  2211                 return variableDeclarators(modifiersOpt(), t, stats).toList();
  2211             else
  2212             } else if ((lastmode & TYPE) != 0 && token.kind == COLON) {
       
  2213                 error(pos, "bad.initializer", "for-loop");
       
  2214                 return List.of((JCStatement)F.at(pos).VarDef(null, null, t, null));
       
  2215             } else {
  2212                 return moreStatementExpressions(pos, t, stats).toList();
  2216                 return moreStatementExpressions(pos, t, stats).toList();
       
  2217             }
  2213         }
  2218         }
  2214     }
  2219     }
  2215 
  2220 
  2216     /** ForUpdate = StatementExpression MoreStatementExpressions
  2221     /** ForUpdate = StatementExpression MoreStatementExpressions
  2217      */
  2222      */