--- old/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java 2018-11-19 22:33:22.655625106 +0530 +++ new/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java 2018-11-19 22:33:22.459622308 +0530 @@ -3180,13 +3180,13 @@ if (elemType.hasTag(IDENT)) { Name typeName = ((JCIdent)elemType).name; if (isRestrictedLocalVarTypeName(typeName, pos, !compound && localDecl)) { - if (compound) { - //error - 'var' in compound local var decl - reportSyntaxError(pos, Errors.VarNotAllowedCompound); - } else if (type.hasTag(TYPEARRAY)) { + if (type.hasTag(TYPEARRAY) && !compound) { //error - 'var' and arrays reportSyntaxError(pos, Errors.VarNotAllowedArray); } else { + if(compound) + //error - 'var' in compound local var decl + reportSyntaxError(pos, Errors.VarNotAllowedCompound); startPos = TreeInfo.getStartPos(mods); if (startPos == Position.NOPOS) startPos = TreeInfo.getStartPos(type);