diff -r e59ced856c92 -r 11743872bfc9 src/share/classes/com/sun/tools/javac/code/Symbol.java --- a/src/share/classes/com/sun/tools/javac/code/Symbol.java Wed Feb 11 12:18:57 2015 -0800 +++ b/src/share/classes/com/sun/tools/javac/code/Symbol.java Fri Feb 13 17:18:21 2015 +0100 @@ -1153,6 +1153,16 @@ public R accept(Symbol.Visitor v, P p) { return v.visitClassSymbol(this, p); } + + public void markAbstractIfNeeded(Types types) { + if (types.enter.getEnv(this) != null && + (flags() & ENUM) != 0 && types.supertype(type).tsym == types.syms.enumSym && + (flags() & (FINAL | ABSTRACT)) == 0) { + if (types.firstUnimplementedAbstract(this) != null) + // add the ABSTRACT flag to an enum + flags_field |= ABSTRACT; + } + } }