private <D extends CallableDescriptor> OverloadResolutionResults<D> resolveFunctionArguments( @NotNull BasicCallResolutionContext context, @NotNull OverloadResolutionResultsImpl<D> results) { if (results.isSingleResult()) { argumentTypeResolver.checkTypesForFunctionArguments( context, results.getResultingCall().getCallToCompleteTypeArgumentInference()); } else { argumentTypeResolver.checkTypesForFunctionArgumentsWithNoCallee(context); } return results; }