From 9d53ad4346089ce681ab3b0b6019646b47b0b3b7 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Wed, 14 Jul 2021 19:34:34 +0200 Subject: [PATCH] LL API: fix kt -> fir mapping for KtObjectLiteralExpression --- .../level/api/element/builder/FirElementBuilder.kt | 1 + .../expressions/objectLiteralExpression.kt | 3 +++ .../expressions/objectLiteralExpression.txt | 10 ++++++++++ .../fir/low/level/api/GetOrBuildFirTestGenerated.java | 11 +++++++++++ 4 files changed, 25 insertions(+) create mode 100644 idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/objectLiteralExpression.kt create mode 100644 idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/objectLiteralExpression.txt 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")