[Analysis API] KT-58249 Avoid calling LOG.error in KtFe10CallResolver
Some `KtCallElement`s might never be resolved, and they won't even have any kind of diagnostic from FE10 compiler. We don't want to log such cases because it's not clear whether we can or should fix them in K1 plugin LOG.error is still enabled for K2 plugin, since for it we want to catch and fix all such problems ^KT-58249 Fixed
This commit is contained in:
committed by
Space Team
parent
81b591ed21
commit
552e640517
+1
-17
@@ -12,9 +12,6 @@ import org.jetbrains.kotlin.analysis.api.calls.KtCallInfo
|
||||
import org.jetbrains.kotlin.analysis.api.calls.KtErrorCallInfo
|
||||
import org.jetbrains.kotlin.analysis.api.diagnostics.KtNonBoundToPsiErrorDiagnostic
|
||||
import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion
|
||||
import org.jetbrains.kotlin.analysis.utils.errors.ExceptionAttachmentBuilder
|
||||
import org.jetbrains.kotlin.analysis.utils.errors.logErrorWithAttachment
|
||||
import org.jetbrains.kotlin.analysis.utils.errors.withPsiEntry
|
||||
import org.jetbrains.kotlin.psi.KtArrayAccessExpression
|
||||
import org.jetbrains.kotlin.psi.KtCallElement
|
||||
import org.jetbrains.kotlin.psi.KtElement
|
||||
@@ -26,26 +23,13 @@ public abstract class KtCallResolver : KtAnalysisSessionComponent() {
|
||||
public abstract fun collectCallCandidates(psi: KtElement): List<KtCallCandidateInfo>
|
||||
|
||||
@KtAnalysisApiInternals
|
||||
public fun unresolvedKtCallError(psi: KtElement): KtErrorCallInfo {
|
||||
LOG.logErrorWithAttachment("${psi::class.simpleName} should always resolve to a KtCallInfo") {
|
||||
withPsiEntry("psi", psi)
|
||||
provideAdditionalAttachmentToUnresolvedCall(psi, this)
|
||||
}
|
||||
public open fun unresolvedKtCallError(psi: KtElement): KtErrorCallInfo {
|
||||
return KtErrorCallInfo(
|
||||
_candidateCalls = emptyList(),
|
||||
KtNonBoundToPsiErrorDiagnostic(factoryName = null, "Unresolved call", token),
|
||||
token
|
||||
)
|
||||
}
|
||||
|
||||
@KtAnalysisApiInternals
|
||||
protected open fun provideAdditionalAttachmentToUnresolvedCall(psi: KtElement, builder: ExceptionAttachmentBuilder) {
|
||||
}
|
||||
|
||||
public companion object {
|
||||
@KtAnalysisApiInternals
|
||||
public val LOG: Logger = Logger.getInstance(KtCallResolver::class.java)
|
||||
}
|
||||
}
|
||||
|
||||
@OptIn(KtAnalysisApiInternals::class)
|
||||
|
||||
Reference in New Issue
Block a user