Lines 1108-1114
Link Here
|
1108 |
} |
1108 |
} |
1109 |
currentType = currentType.superclass(); |
1109 |
currentType = currentType.superclass(); |
1110 |
} |
1110 |
} |
1111 |
|
1111 |
|
1112 |
// if found several candidates, then eliminate those not matching argument types |
1112 |
// if found several candidates, then eliminate those not matching argument types |
1113 |
int foundSize = found.size; |
1113 |
int foundSize = found.size; |
1114 |
MethodBinding[] candidates = null; |
1114 |
MethodBinding[] candidates = null; |
Lines 1235-1240
Link Here
|
1235 |
&& parameterCompatibilityLevel(mostSpecificMethod, argumentTypes) > COMPATIBLE) { |
1235 |
&& parameterCompatibilityLevel(mostSpecificMethod, argumentTypes) > COMPATIBLE) { |
1236 |
// see if there is a better match in the interfaces - see AutoBoxingTest 99 |
1236 |
// see if there is a better match in the interfaces - see AutoBoxingTest 99 |
1237 |
return findDefaultAbstractMethod(receiverType, selector, argumentTypes, invocationSite, classHierarchyStart, found, mostSpecificMethod); |
1237 |
return findDefaultAbstractMethod(receiverType, selector, argumentTypes, invocationSite, classHierarchyStart, found, mostSpecificMethod); |
|
|
1238 |
} else if (isCompliant14 && classHierarchyStart.isAbstract()) { |
1239 |
if (mostSpecificMethod.isValidBinding()) { |
1240 |
// see if there is a better match in the interfaces - see LookupTest#81 |
1241 |
return findDefaultAbstractMethod(receiverType, selector, argumentTypes, invocationSite, classHierarchyStart, found, mostSpecificMethod); |
1242 |
} else { |
1243 |
// see if there is still a match in the interfaces - see LookupTest#84 |
1244 |
MethodBinding interfaceMethod = findDefaultAbstractMethod(receiverType, selector, argumentTypes, invocationSite, classHierarchyStart, found, null); |
1245 |
if (interfaceMethod != null && interfaceMethod.isValidBinding() /* else return the same error as before */) { |
1246 |
return interfaceMethod; |
1247 |
} |
1248 |
} |
1238 |
} |
1249 |
} |
1239 |
return mostSpecificMethod; |
1250 |
return mostSpecificMethod; |
1240 |
} |
1251 |
} |