--- old/src/share/classes/com/sun/tools/javac/comp/Check.java 2014-03-07 10:50:46.007712804 +0400 +++ new/src/share/classes/com/sun/tools/javac/comp/Check.java 2014-03-07 10:50:45.211722809 +0400 @@ -1073,9 +1073,11 @@ if (sym.isLocal()) { mask = LocalClassFlags; if (sym.name.isEmpty()) { // Anonymous class - // Anonymous classes in static methods are themselves static; - // that's why we admit STATIC here. - mask |= STATIC; + // JLS 15.9.5.: An anonymous class is never static, + if ((flags & ENUM) != 0) { + // extended ENUM is an exception + mask |= STATIC; + } // JLS: Anonymous classes are final. implicit |= FINAL; }