[FIR] Create FirResolvedErrorReference for error reference with single candidate
Note that this reference won't be created for hidden candidates, because they are designed to be truly invisible from the user side
This commit is contained in:
committed by
Space Team
parent
9e4e5eed68
commit
dde64c10ea
@@ -11,11 +11,13 @@ import org.jetbrains.kotlin.KtIoFileSourceFile
|
||||
import org.jetbrains.kotlin.fir.builder.RawFirBuilder
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||
import org.jetbrains.kotlin.fir.diagnostics.ConeStubDiagnostic
|
||||
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnosticHolder
|
||||
import org.jetbrains.kotlin.fir.expressions.FirFunctionCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirPropertyAccessExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression
|
||||
import org.jetbrains.kotlin.fir.lightTree.LightTree2Fir
|
||||
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirResolvedErrorReference
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.firProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirProviderImpl
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.FirGlobalResolveProcessor
|
||||
@@ -281,8 +283,8 @@ class FirResolveBench(val withProgress: Boolean, val listener: BenchListener? =
|
||||
if (type is ConeErrorType) {
|
||||
errorFunctionCallTypes++
|
||||
val psi = callee.psi
|
||||
if (callee is FirErrorNamedReference && psi != null) {
|
||||
reportProblem(callee.diagnostic.reason, psi)
|
||||
if ((callee is FirErrorNamedReference || callee is FirResolvedErrorReference) && psi != null) {
|
||||
reportProblem((callee as FirDiagnosticHolder).diagnostic.reason, psi)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -298,8 +300,8 @@ class FirResolveBench(val withProgress: Boolean, val listener: BenchListener? =
|
||||
if (type is ConeErrorType) {
|
||||
errorQualifiedAccessTypes++
|
||||
val psi = callee.psi
|
||||
if (callee is FirErrorNamedReference && psi != null) {
|
||||
reportProblem(callee.diagnostic.reason, psi)
|
||||
if ((callee is FirErrorNamedReference || callee is FirResolvedErrorReference) && psi != null) {
|
||||
reportProblem((callee as FirDiagnosticHolder).diagnostic.reason, psi)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user