[FIR] Use callee reference source for resolved callable reference

KTIJ-23906
This commit is contained in:
aleksandrina-streltsova
2023-11-10 09:43:05 +02:00
committed by Space Team
parent 918335e12e
commit b694f063ac
2 changed files with 7 additions and 4 deletions
@@ -358,7 +358,9 @@ private fun mapInapplicableCandidateError(
isError = rootCause.isError isError = rootCause.isError
) )
is AdaptedCallableReferenceIsUsedWithReflection -> FirErrors.ADAPTED_CALLABLE_REFERENCE_AGAINST_REFLECTION_TYPE.createOn(source) is AdaptedCallableReferenceIsUsedWithReflection -> FirErrors.ADAPTED_CALLABLE_REFERENCE_AGAINST_REFLECTION_TYPE.createOn(
qualifiedAccessSource
)
else -> genericDiagnostic else -> genericDiagnostic
} }
@@ -381,6 +381,7 @@ class FirCallResolver(
resolvedCallableReferenceAtom: ResolvedCallableReferenceAtom, resolvedCallableReferenceAtom: ResolvedCallableReferenceAtom,
): Pair<CandidateApplicability, Boolean> { ): Pair<CandidateApplicability, Boolean> {
val callableReferenceAccess = resolvedCallableReferenceAtom.reference val callableReferenceAccess = resolvedCallableReferenceAtom.reference
val calleeReference = callableReferenceAccess.calleeReference
val lhs = resolvedCallableReferenceAtom.lhs val lhs = resolvedCallableReferenceAtom.lhs
val coneSubstitutor = constraintSystemBuilder.buildCurrentSubstitutor() as ConeSubstitutor val coneSubstitutor = constraintSystemBuilder.buildCurrentSubstitutor() as ConeSubstitutor
val expectedType = resolvedCallableReferenceAtom.expectedType?.let(coneSubstitutor::substituteOrSelf) val expectedType = resolvedCallableReferenceAtom.expectedType?.let(coneSubstitutor::substituteOrSelf)
@@ -425,7 +426,7 @@ class FirCallResolver(
reducedCandidates.size == 1 -> createConeDiagnosticForCandidateWithError(applicability, reducedCandidates.single()) reducedCandidates.size == 1 -> createConeDiagnosticForCandidateWithError(applicability, reducedCandidates.single())
else -> ConeUnresolvedReferenceError(info.name) else -> ConeUnresolvedReferenceError(info.name)
}, },
callableReferenceAccess.source calleeReference.source
) )
resolvedCallableReferenceAtom.resultingReference = errorReference resolvedCallableReferenceAtom.resultingReference = errorReference
return applicability to false return applicability to false
@@ -435,7 +436,7 @@ class FirCallResolver(
val errorReference = buildReferenceWithErrorCandidate( val errorReference = buildReferenceWithErrorCandidate(
info, info,
ConeAmbiguityError(info.name, applicability, reducedCandidates), ConeAmbiguityError(info.name, applicability, reducedCandidates),
callableReferenceAccess.source calleeReference.source
) )
resolvedCallableReferenceAtom.resultingReference = errorReference resolvedCallableReferenceAtom.resultingReference = errorReference
return applicability to false return applicability to false
@@ -454,7 +455,7 @@ class FirCallResolver(
} }
val reference = createResolvedNamedReference( val reference = createResolvedNamedReference(
callableReferenceAccess.calleeReference, calleeReference,
info.name, info.name,
info, info,
reducedCandidates, reducedCandidates,