[FIR] Implement UNRESOLVED_REFERENCE_WRONG_RECEIVER
This commit is contained in:
@@ -705,6 +705,7 @@ class FirCallResolver(
|
||||
val candidate = candidates.single()
|
||||
val diagnostic = when (applicability) {
|
||||
CandidateApplicability.HIDDEN -> ConeHiddenCandidateError(candidate.symbol)
|
||||
CandidateApplicability.INAPPLICABLE_WRONG_RECEIVER -> ConeInapplicableWrongReceiver(listOf(candidate.symbol))
|
||||
CandidateApplicability.NO_COMPANION_OBJECT -> ConeNoCompanionObject(candidate.symbol as FirRegularClassSymbol)
|
||||
else -> ConeInapplicableCandidateError(applicability, candidate)
|
||||
}
|
||||
|
||||
+11
@@ -63,6 +63,17 @@ class ConeHiddenCandidateError(
|
||||
override val reason: String get() = "HIDDEN: ${describeSymbol(candidateSymbol)} is invisible"
|
||||
}
|
||||
|
||||
class ConeInapplicableWrongReceiver(val candidates: Collection<FirBasedSymbol<*>>) : ConeDiagnostic() {
|
||||
override val reason: String
|
||||
get() = "None of the following candidates is applicable because of receiver type mismatch: ${
|
||||
candidates.map {
|
||||
describeSymbol(
|
||||
it
|
||||
)
|
||||
}
|
||||
}"
|
||||
}
|
||||
|
||||
class ConeInapplicableCandidateError(
|
||||
val applicability: CandidateApplicability,
|
||||
val candidate: Candidate,
|
||||
|
||||
Reference in New Issue
Block a user