Lines 1121-1127
Link Here
|
1121 |
if (isCompliant14 && (receiverType.isAbstract() || receiverType.isTypeVariable())) { |
1121 |
if (isCompliant14 && (receiverType.isAbstract() || receiverType.isTypeVariable())) { |
1122 |
MethodBinding interfaceMethod = |
1122 |
MethodBinding interfaceMethod = |
1123 |
findDefaultAbstractMethod(receiverType, selector, argumentTypes, invocationSite, classHierarchyStart, found); |
1123 |
findDefaultAbstractMethod(receiverType, selector, argumentTypes, invocationSite, classHierarchyStart, found); |
1124 |
if (interfaceMethod != null) { |
1124 |
if (interfaceMethod != null && interfaceMethod.isValidBinding()) { |
1125 |
candidates = new MethodBinding[] {compatibleMethod, interfaceMethod}; |
1125 |
candidates = new MethodBinding[] {compatibleMethod, interfaceMethod}; |
1126 |
return mostSpecificMethodBinding(candidates, 2, argumentTypes, invocationSite, receiverType); |
1126 |
return mostSpecificMethodBinding(candidates, 2, argumentTypes, invocationSite, receiverType); |
1127 |
} |
1127 |
} |
Lines 1201-1207
Link Here
|
1201 |
if (isCompliant14 && (receiverType.isAbstract() || receiverType.isTypeVariable())) { |
1201 |
if (isCompliant14 && (receiverType.isAbstract() || receiverType.isTypeVariable())) { |
1202 |
MethodBinding interfaceMethod = |
1202 |
MethodBinding interfaceMethod = |
1203 |
findDefaultAbstractMethod(receiverType, selector, argumentTypes, invocationSite, classHierarchyStart, found); |
1203 |
findDefaultAbstractMethod(receiverType, selector, argumentTypes, invocationSite, classHierarchyStart, found); |
1204 |
if (interfaceMethod != null) { |
1204 |
if (interfaceMethod != null && interfaceMethod.isValidBinding()) { |
1205 |
candidates = new MethodBinding[] {candidates[0], interfaceMethod}; |
1205 |
candidates = new MethodBinding[] {candidates[0], interfaceMethod}; |
1206 |
return mostSpecificMethodBinding(candidates, 2, argumentTypes, invocationSite, receiverType); |
1206 |
return mostSpecificMethodBinding(candidates, 2, argumentTypes, invocationSite, receiverType); |
1207 |
} |
1207 |
} |
Lines 1243-1249
Link Here
|
1243 |
// see if there is a better match in the interfaces - see AutoBoxingTest 99 |
1243 |
// see if there is a better match in the interfaces - see AutoBoxingTest 99 |
1244 |
MethodBinding interfaceMethod = |
1244 |
MethodBinding interfaceMethod = |
1245 |
findDefaultAbstractMethod(receiverType, selector, argumentTypes, invocationSite, classHierarchyStart, found); |
1245 |
findDefaultAbstractMethod(receiverType, selector, argumentTypes, invocationSite, classHierarchyStart, found); |
1246 |
if (interfaceMethod != null) { |
1246 |
if (interfaceMethod != null && interfaceMethod.isValidBinding()) { |
1247 |
candidates = new MethodBinding[] {mostSpecificMethod, interfaceMethod}; |
1247 |
candidates = new MethodBinding[] {mostSpecificMethod, interfaceMethod}; |
1248 |
return mostSpecificMethodBinding(candidates, 2, argumentTypes, invocationSite, receiverType); |
1248 |
return mostSpecificMethodBinding(candidates, 2, argumentTypes, invocationSite, receiverType); |
1249 |
} |
1249 |
} |