--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java Mon Jan 21 20:15:16 2013 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java Mon Jan 21 20:19:53 2013 +0000
@@ -1058,9 +1058,12 @@
} else
mask = ConstructorFlags;
} else if ((sym.owner.flags_field & INTERFACE) != 0) {
- if ((flags & DEFAULT) != 0) {
- mask = InterfaceDefaultMethodMask;
- implicit = PUBLIC | ABSTRACT;
+ if ((flags & (DEFAULT | STATIC)) != 0) {
+ mask = InterfaceMethodMask;
+ implicit = PUBLIC;
+ if ((flags & DEFAULT) != 0) {
+ implicit |= ABSTRACT;
+ }
} else {
mask = implicit = InterfaceMethodFlags;
}
@@ -1130,6 +1133,10 @@
PRIVATE | STATIC | DEFAULT))
&&
checkDisjoint(pos, flags,
+ STATIC,
+ DEFAULT)
+ &&
+ checkDisjoint(pos, flags,
ABSTRACT | INTERFACE,
FINAL | NATIVE | SYNCHRONIZED)
&&