[FIR] Use callee reference source for resolved callable reference
KTIJ-23906
This commit is contained in:
committed by
Space Team
parent
918335e12e
commit
b694f063ac
+3
-1
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user