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 {