From 89acaae8196dc5cfc5ca1d930919d48ab8de7db5 Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Mon, 24 Apr 2023 14:17:03 +0200 Subject: [PATCH] [LL FIR] RawFirNonLocalDeclarationBuilder: improve diagnostics --- .../api/fir/lazy/resolve/RawFirNonLocalDeclarationBuilder.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/RawFirNonLocalDeclarationBuilder.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/RawFirNonLocalDeclarationBuilder.kt index a5686edbc07..f2797dad868 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/RawFirNonLocalDeclarationBuilder.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/RawFirNonLocalDeclarationBuilder.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve import com.intellij.psi.PsiElement import org.jetbrains.kotlin.KtSourceElement import org.jetbrains.kotlin.analysis.low.level.api.fir.api.FirDesignation +import org.jetbrains.kotlin.analysis.low.level.api.fir.util.errorWithFirSpecificEntries import org.jetbrains.kotlin.analysis.utils.errors.buildErrorWithAttachment import org.jetbrains.kotlin.analysis.utils.errors.withPsiEntry import org.jetbrains.kotlin.fir.* @@ -300,7 +301,9 @@ internal class RawFirNonLocalDeclarationBuilder private constructor( if (parent !is FirRegularClass) return moveNext(iterator, containingClass = null) val classOrObject = parent.psi - check(classOrObject is KtClassOrObject) + if (classOrObject !is KtClassOrObject) { + errorWithFirSpecificEntries("Expected KtClassOrObject is not found", fir = parent, psi = classOrObject) + } withChildClassName(classOrObject.nameAsSafeName, isExpect = classOrObject.hasExpectModifier() || context.containerIsExpect) { withCapturedTypeParameters(