diff -r 2013982bee34 -r 12cf6bfd8c05 src/share/classes/com/sun/tools/javac/code/Flags.java --- a/src/share/classes/com/sun/tools/javac/code/Flags.java Tue Oct 16 21:03:36 2012 -0700 +++ b/src/share/classes/com/sun/tools/javac/code/Flags.java Wed Oct 17 16:43:26 2012 +0100 @@ -67,6 +67,7 @@ if ((mask&NATIVE) != 0) flags.add(Flag.NATIVE); if ((mask&INTERFACE) != 0) flags.add(Flag.INTERFACE); if ((mask&ABSTRACT) != 0) flags.add(Flag.ABSTRACT); + if ((mask&DEFAULT) != 0) flags.add(Flag.DEFAULT); if ((mask&STRICTFP) != 0) flags.add(Flag.STRICTFP); if ((mask&BRIDGE) != 0) flags.add(Flag.BRIDGE); if ((mask&SYNTHETIC) != 0) flags.add(Flag.SYNTHETIC); @@ -252,6 +253,11 @@ */ public static final long CLASH = 1L<<42; + /** + * Flag that marks either a default method or an interface containing default methods + */ + public static final long DEFAULT = 1L<<43; + /** Modifier masks. */ public static final int @@ -267,7 +273,10 @@ MethodFlags = AccessFlags | ABSTRACT | STATIC | NATIVE | SYNCHRONIZED | FINAL | STRICTFP; public static final long - LocalVarFlags = FINAL | PARAMETER; + ExtendedStandardFlags = (long)StandardFlags | DEFAULT, + InterfaceDefaultMethodMask = ABSTRACT | PUBLIC | STRICTFP | SYNCHRONIZED | DEFAULT, + LocalVarFlags = FINAL | PARAMETER; + public static Set asModifierSet(long flags) { Set modifiers = modifierSets.get(flags); @@ -320,6 +329,7 @@ NATIVE("native"), INTERFACE("interface"), ABSTRACT("abstract"), + DEFAULT("default"), STRICTFP("strictfp"), BRIDGE("bridge"), SYNTHETIC("synthetic"),