[Analysis API] add information about KtModule to reported exceptions
This commit is contained in:
committed by
Space Team
parent
c37ee83791
commit
fbcaf3efeb
+8
@@ -6,10 +6,14 @@
|
||||
package org.jetbrains.kotlin.analysis.low.level.api.fir.util
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.llFirModuleData
|
||||
import org.jetbrains.kotlin.analysis.project.structure.KtModule
|
||||
import org.jetbrains.kotlin.analysis.utils.errors.ExceptionAttachmentBuilder
|
||||
import org.jetbrains.kotlin.analysis.utils.errors.buildErrorWithAttachment
|
||||
import org.jetbrains.kotlin.analysis.utils.errors.withKtModuleEntry
|
||||
import org.jetbrains.kotlin.analysis.utils.errors.withPsiEntry
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirElementWithResolvePhase
|
||||
import org.jetbrains.kotlin.fir.psi
|
||||
import org.jetbrains.kotlin.fir.renderer.ConeTypeRendererForDebugging
|
||||
import org.jetbrains.kotlin.fir.renderer.FirDeclarationRendererWithAttributes
|
||||
@@ -27,9 +31,13 @@ fun ExceptionAttachmentBuilder.withFirEntry(name: String, fir: FirElement) {
|
||||
).renderElementAsString(it)
|
||||
}
|
||||
withEntry("${name}FirSourceElementKind", fir.source?.kind?.let { it::class.simpleName })
|
||||
if (fir is FirElementWithResolvePhase) {
|
||||
withKtModuleEntry("${name}KtModule", fir.llFirModuleData.ktModule)
|
||||
}
|
||||
withPsiEntry("${name}Psi", fir.psi)
|
||||
}
|
||||
|
||||
|
||||
fun ExceptionAttachmentBuilder.withFirSymbolEntry(name: String, symbol: FirBasedSymbol<*>) {
|
||||
withFirEntry("${name}Fir", symbol.fir)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user