--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java Thu Feb 06 15:49:51 2014 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java Thu Feb 06 18:49:01 2014 +0000
@@ -91,10 +91,9 @@
TreeInfo treeinfo;
Types types;
JCDiagnostic.Factory diags;
- public final boolean boxingEnabled; // = source.allowBoxing();
- public final boolean varargsEnabled; // = source.allowVarargs();
+ public final boolean boxingEnabled;
+ public final boolean varargsEnabled;
public final boolean allowMethodHandles;
- public final boolean allowDefaultMethodsResolution;
public final boolean allowStructuralMostSpecific;
private final boolean debugResolve;
private final boolean compactMethodDiags;
@@ -136,7 +135,6 @@
verboseResolutionMode = VerboseResolutionMode.getVerboseResolutionMode(options);
Target target = Target.instance(context);
allowMethodHandles = target.hasMethodHandles();
- allowDefaultMethodsResolution = source.allowDefaultMethodsResolution();
allowStructuralMostSpecific = source.allowStructuralMostSpecific();
polymorphicSignatureScope = new Scope(syms.noSymbol);
@@ -1680,7 +1678,6 @@
bestSoFar : methodNotFound;
for (InterfaceLookupPhase iphase2 : InterfaceLookupPhase.values()) {
- if (iphase2 == InterfaceLookupPhase.DEFAULT_OK && !allowDefaultMethodsResolution) break;
//keep searching for abstract methods
for (Type itype : itypes[iphase2.ordinal()]) {
if (!itype.isInterface()) continue; //skip j.l.Object (included by Types.closure())
@@ -1713,10 +1710,8 @@
//from superinterfaces)
if ((s.flags() & (ABSTRACT | INTERFACE | ENUM)) != 0) {
return this;
- } else if (rs.allowDefaultMethodsResolution) {
+ } else {
return DEFAULT_OK;
- } else {
- return null;
}
}
},
@@ -3340,9 +3335,9 @@
if ((env1.enclClass.sym.flags() & STATIC) != 0) staticOnly = true;
env1 = env1.outer;
}
- if (allowDefaultMethodsResolution && c.isInterface() &&
- name == names._super && !isStatic(env) &&
- types.isDirectSuperInterface(c, env.enclClass.sym)) {
+ if (c.isInterface() &&
+ name == names._super && !isStatic(env) &&
+ types.isDirectSuperInterface(c, env.enclClass.sym)) {
//this might be a default super call if one of the superinterfaces is 'c'
for (Type t : pruneInterfaces(env.enclClass.type)) {
if (t.tsym == c) {