[NI] Provide diagnostics for candidates in "allCandidates" mode

This helps for completion as it use diagnostics to clip extra
 candidates
This commit is contained in:
Mikhail Zarechenskiy
2019-04-26 10:19:20 +03:00
parent 450bfed375
commit 5b33e54f77
3 changed files with 15 additions and 7 deletions
@@ -189,9 +189,12 @@ class PSICallResolver(
tracingStrategy: TracingStrategy
): OverloadResolutionResults<D> {
if (result is AllCandidatesResolutionResult) {
val resolvedCalls = result.allCandidates.map {
val resultingSubstitutor = it.getSystem().asReadOnlyStorage().buildResultingSubstitutor()
kotlinToResolvedCallTransformer.transformToResolvedCall<D>(it.resolvedCall, null, resultingSubstitutor, result.diagnostics)
val resolvedCalls = result.allCandidates.map { (candidate, diagnostics) ->
val resultingSubstitutor = candidate.getSystem().asReadOnlyStorage().buildResultingSubstitutor()
kotlinToResolvedCallTransformer.transformToResolvedCall<D>(
candidate.resolvedCall, null, resultingSubstitutor, diagnostics
)
}
return AllCandidates(resolvedCalls)