FIR IDE: fix collecting diagnostics for anonymous object declaration
This commit is contained in:
+7
-3
@@ -14,9 +14,10 @@ import org.jetbrains.kotlin.fir.psi
|
||||
import org.jetbrains.kotlin.fir.render
|
||||
import org.jetbrains.kotlin.idea.caches.project.IdeaModuleInfo
|
||||
import org.jetbrains.kotlin.idea.util.getElementTextInContext
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.psi.KtDeclaration
|
||||
import org.jetbrains.kotlin.psi.KtElement
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.psi.KtObjectLiteralExpression
|
||||
import java.util.concurrent.TimeUnit
|
||||
import java.util.concurrent.locks.Lock
|
||||
|
||||
@@ -63,8 +64,10 @@ internal val FirDeclaration.ktDeclaration: KtDeclaration
|
||||
get() {
|
||||
val psi = psi
|
||||
?: error("PSI element was not found for${render()}")
|
||||
return psi as? KtDeclaration
|
||||
?: error(
|
||||
return when (psi) {
|
||||
is KtDeclaration -> psi
|
||||
is KtObjectLiteralExpression -> psi.objectDeclaration
|
||||
else -> error(
|
||||
"""
|
||||
FirDeclaration.psi (${this::class.simpleName}) should be KtDeclaration but was ${psi::class.simpleName}
|
||||
${(psi as? KtElement)?.getElementTextInContext() ?: psi.text}
|
||||
@@ -72,6 +75,7 @@ internal val FirDeclaration.ktDeclaration: KtDeclaration
|
||||
${render()}
|
||||
""".trimIndent()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
internal val FirDeclaration.containingKtFileIfAny: KtFile?
|
||||
|
||||
Reference in New Issue
Block a user