langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java
changeset 12715 139b8354de6a
parent 12466 08863ee323df
child 13077 16fb753bb5dc
--- a/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java	Fri May 04 07:55:51 2012 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java	Thu May 10 12:32:58 2012 -0700
@@ -2206,10 +2206,15 @@
         } else {
             JCExpression t = term(EXPR | TYPE);
             if ((lastmode & TYPE) != 0 &&
-                (token.kind == IDENTIFIER || token.kind == ASSERT || token.kind == ENUM))
+                (token.kind == IDENTIFIER || token.kind == ASSERT ||
+                 token.kind == ENUM)) {
                 return variableDeclarators(modifiersOpt(), t, stats).toList();
-            else
+            } else if ((lastmode & TYPE) != 0 && token.kind == COLON) {
+                error(pos, "bad.initializer", "for-loop");
+                return List.of((JCStatement)F.at(pos).VarDef(null, null, t, null));
+            } else {
                 return moreStatementExpressions(pos, t, stats).toList();
+            }
         }
     }