Lines 771-783
Link Here
|
771 |
return ParameterizedMethodBinding.instantiateGetClass(receiverType, exactMethod, this); |
771 |
return ParameterizedMethodBinding.instantiateGetClass(receiverType, exactMethod, this); |
772 |
} |
772 |
} |
773 |
// targeting a generic method could find an exact match with variable return type |
773 |
// targeting a generic method could find an exact match with variable return type |
774 |
if (exactMethod.typeVariables != Binding.NO_TYPE_VARIABLES || invocationSite.genericTypeArguments() != null) { |
774 |
if (invocationSite.genericTypeArguments() != null) { |
775 |
MethodBinding compatibleMethod = computeCompatibleMethod(exactMethod, argumentTypes, invocationSite); |
775 |
exactMethod = computeCompatibleMethod(exactMethod, argumentTypes, invocationSite); |
776 |
// compatibleMethod should not be null thanks to the conditions guarding this block |
|
|
777 |
if (!compatibleMethod.isValidBinding() && exactMethod.typeVariables != Binding.NO_TYPE_VARIABLES) { |
778 |
return null; // could be a better generic method match (90423), which will be found by non exact match |
779 |
} |
780 |
exactMethod = compatibleMethod; |
781 |
} |
776 |
} |
782 |
return exactMethod; |
777 |
return exactMethod; |
783 |
} |
778 |
} |