diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/element/builder/FirElementBuilder.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/element/builder/FirElementBuilder.kt
index 5880bfd2cd0..35cfac54251 100644
--- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/element/builder/FirElementBuilder.kt
+++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/element/builder/FirElementBuilder.kt
@@ -48,6 +48,7 @@ internal class FirElementBuilder {
// null will be return in case of invalid KtValueArgument
deparenthesized.getArgumentExpression()
}
+ deparenthesized is KtObjectLiteralExpression -> deparenthesized.objectDeclaration
else -> deparenthesized
}
}
diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/objectLiteralExpression.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/objectLiteralExpression.kt
new file mode 100644
index 00000000000..92cb94ba5c4
--- /dev/null
+++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/objectLiteralExpression.kt
@@ -0,0 +1,3 @@
+// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtObjectLiteralExpression
+
+val x = object : Any {}
\ No newline at end of file
diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/objectLiteralExpression.txt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/objectLiteralExpression.txt
new file mode 100644
index 00000000000..c334160130b
--- /dev/null
+++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/objectLiteralExpression.txt
@@ -0,0 +1,10 @@
+KT element: KtObjectLiteralExpression
+FIR element: FirAnonymousObjectExpressionImpl
+
+FIR element rendered:
+object : R|kotlin/Any| {
+ private constructor(): R|| {
+ super()
+ }
+
+}
\ No newline at end of file
diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/GetOrBuildFirTestGenerated.java b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/GetOrBuildFirTestGenerated.java
index 5b94025ccbe..081da80e244 100644
--- a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/GetOrBuildFirTestGenerated.java
+++ b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/GetOrBuildFirTestGenerated.java
@@ -108,6 +108,17 @@ public class GetOrBuildFirTestGenerated extends AbstractGetOrBuildFirTest {
}
}
+ @Nested
+ @TestMetadata("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions")
+ @TestDataPath("$PROJECT_ROOT")
+ public class Expressions {
+ @Test
+ @TestMetadata("objectLiteralExpression.kt")
+ public void testObjectLiteralExpression() throws Exception {
+ runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/objectLiteralExpression.kt");
+ }
+ }
+
@Nested
@TestMetadata("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/inImport")
@TestDataPath("$PROJECT_ROOT")