--- a/langtools/src/share/classes/com/sun/tools/javac/code/Flags.java Tue Oct 16 21:03:36 2012 -0700
+++ b/langtools/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<Modifier> asModifierSet(long flags) {
Set<Modifier> modifiers = modifierSets.get(flags);
@@ -320,6 +329,7 @@
NATIVE("native"),
INTERFACE("interface"),
ABSTRACT("abstract"),
+ DEFAULT("default"),
STRICTFP("strictfp"),
BRIDGE("bridge"),
SYNTHETIC("synthetic"),