diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt index b0f949c1b9a..f73f5108d9e 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt @@ -264,8 +264,8 @@ internal class KtSymbolByFirBuilder constructor( is FirFieldSymbol -> buildFieldSymbol(firSymbol) is FirEnumEntrySymbol -> buildEnumEntrySymbol(firSymbol) // TODO enum entry should not be callable is FirBackingFieldSymbol -> buildBackingFieldSymbol(firSymbol) + is FirErrorPropertySymbol -> buildErrorVariableSymbol(firSymbol) - is FirErrorPropertySymbol -> throwUnexpectedElementError(firSymbol) is FirDelegateFieldSymbol -> throwUnexpectedElementError(firSymbol) } } diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirCompileTimeConstantProvider.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirCompileTimeConstantProvider.kt index ca3ed5edef4..133abfe7a95 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirCompileTimeConstantProvider.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirCompileTimeConstantProvider.kt @@ -66,10 +66,7 @@ internal class KtFirCompileTimeConstantProvider( // ``` // `false` does not have a corresponding elements on the FIR side and hence the containing `FirWhenBranch` is returned. In this // case, we simply report null since FIR does not know about it. - fir is FirWhenBranch -> null - fir is FirVariableAssignment && fir.source?.kind == KtFakeSourceElementKind.DesugaredIncrementOrDecrement -> null - fir is FirTypeRef -> null - else -> throwUnexpectedFirElementError(fir, sourcePsi) + else -> null } } diff --git a/analysis/low-level-api-fir/testdata/getOrBuildFir/declarations/ktij23263.kt b/analysis/low-level-api-fir/testdata/getOrBuildFir/declarations/ktij23263.kt new file mode 100644 index 00000000000..1ad847e5f4b --- /dev/null +++ b/analysis/low-level-api-fir/testdata/getOrBuildFir/declarations/ktij23263.kt @@ -0,0 +1,4 @@ +class InitOrderDemo(name: String) { + val (firstProperty = "First property" + +} \ No newline at end of file diff --git a/analysis/low-level-api-fir/testdata/getOrBuildFir/declarations/ktij23263.txt b/analysis/low-level-api-fir/testdata/getOrBuildFir/declarations/ktij23263.txt new file mode 100644 index 00000000000..d8044c3db08 --- /dev/null +++ b/analysis/low-level-api-fir/testdata/getOrBuildFir/declarations/ktij23263.txt @@ -0,0 +1,18 @@ +KT element: KtStringTemplateExpression +FIR element: FirErrorPropertyImpl +FIR source kind: KtRealSourceElementKind + +FIR element rendered: + + +FIR FILE: +FILE: [ResolvedTo(IMPORTS)] ktij23263.kt + [ResolvedTo(BODY_RESOLVE)] annotations container + public? final? [ResolvedTo(RAW_FIR)] class InitOrderDemo : R|kotlin/Any| { + public? [ResolvedTo(RAW_FIR)] constructor([ResolvedTo(RAW_FIR)] name: String): R|InitOrderDemo| { + LAZY_super + } + + + + } diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/OutOfContentRootGetOrBuildFirTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/OutOfContentRootGetOrBuildFirTestGenerated.java index 8bc155e5e73..403116ddcaf 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/OutOfContentRootGetOrBuildFirTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/OutOfContentRootGetOrBuildFirTestGenerated.java @@ -501,6 +501,12 @@ public class OutOfContentRootGetOrBuildFirTestGenerated extends AbstractOutOfCon runTest("analysis/low-level-api-fir/testdata/getOrBuildFir/declarations/destructuringEntry.kt"); } + @Test + @TestMetadata("ktij23263.kt") + public void testKtij23263() throws Exception { + runTest("analysis/low-level-api-fir/testdata/getOrBuildFir/declarations/ktij23263.kt"); + } + @Test @TestMetadata("objectLiteral.kt") public void testObjectLiteral() throws Exception { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/SourceGetOrBuildFirTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/SourceGetOrBuildFirTestGenerated.java index ee8c01e1b1b..ab980c98cd1 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/SourceGetOrBuildFirTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/SourceGetOrBuildFirTestGenerated.java @@ -501,6 +501,12 @@ public class SourceGetOrBuildFirTestGenerated extends AbstractSourceGetOrBuildFi runTest("analysis/low-level-api-fir/testdata/getOrBuildFir/declarations/destructuringEntry.kt"); } + @Test + @TestMetadata("ktij23263.kt") + public void testKtij23263() throws Exception { + runTest("analysis/low-level-api-fir/testdata/getOrBuildFir/declarations/ktij23263.kt"); + } + @Test @TestMetadata("objectLiteral.kt") public void testObjectLiteral() throws Exception {