From 000c24fc69438e822a7de79897c094846f42504c Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Fri, 13 Oct 2023 17:32:44 +0300 Subject: [PATCH] [Raw FIR] Add test for callable ids of functions inside body of enum entry --- ...RootLazyBodiesCalculatorTestGenerated.java | 6 +++ ...urceLazyBodiesCalculatorTestGenerated.java | 6 +++ ...ghtTree2FirConverterTestCaseGenerated.java | 5 ++ .../localDeclarationsInEnumEntry.kt | 13 ++++++ ...ocalDeclarationsInEnumEntry.lazyBodies.txt | 17 +++++++ .../localDeclarationsInEnumEntry.txt | 46 +++++++++++++++++++ ...FirBuilderLazyBodiesTestCaseGenerated.java | 5 ++ .../RawFirBuilderTestCaseGenerated.java | 5 ++ 8 files changed, 103 insertions(+) create mode 100644 compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.kt create mode 100644 compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.lazyBodies.txt create mode 100644 compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.txt diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/FirOutOfContentRootLazyBodiesCalculatorTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/FirOutOfContentRootLazyBodiesCalculatorTestGenerated.java index 179b4426c30..302132acd46 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/FirOutOfContentRootLazyBodiesCalculatorTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/FirOutOfContentRootLazyBodiesCalculatorTestGenerated.java @@ -213,6 +213,12 @@ public class FirOutOfContentRootLazyBodiesCalculatorTestGenerated extends Abstra runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/invalidDestructing.kt"); } + @Test + @TestMetadata("localDeclarationsInEnumEntry.kt") + public void testLocalDeclarationsInEnumEntry() throws Exception { + runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.kt"); + } + @Test @TestMetadata("nestedClass.kt") public void testNestedClass() throws Exception { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/FirSourceLazyBodiesCalculatorTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/FirSourceLazyBodiesCalculatorTestGenerated.java index b4514b02c83..12b19ab40ad 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/FirSourceLazyBodiesCalculatorTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/FirSourceLazyBodiesCalculatorTestGenerated.java @@ -213,6 +213,12 @@ public class FirSourceLazyBodiesCalculatorTestGenerated extends AbstractFirSourc runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/invalidDestructing.kt"); } + @Test + @TestMetadata("localDeclarationsInEnumEntry.kt") + public void testLocalDeclarationsInEnumEntry() throws Exception { + runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.kt"); + } + @Test @TestMetadata("nestedClass.kt") public void testNestedClass() throws Exception { diff --git a/compiler/fir/raw-fir/light-tree2fir/tests-gen/org/jetbrains/kotlin/fir/lightTree/LightTree2FirConverterTestCaseGenerated.java b/compiler/fir/raw-fir/light-tree2fir/tests-gen/org/jetbrains/kotlin/fir/lightTree/LightTree2FirConverterTestCaseGenerated.java index 33c3907ef03..39f01c3296a 100644 --- a/compiler/fir/raw-fir/light-tree2fir/tests-gen/org/jetbrains/kotlin/fir/lightTree/LightTree2FirConverterTestCaseGenerated.java +++ b/compiler/fir/raw-fir/light-tree2fir/tests-gen/org/jetbrains/kotlin/fir/lightTree/LightTree2FirConverterTestCaseGenerated.java @@ -191,6 +191,11 @@ public class LightTree2FirConverterTestCaseGenerated extends AbstractLightTree2F runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/invalidDestructing.kt"); } + @TestMetadata("localDeclarationsInEnumEntry.kt") + public void testLocalDeclarationsInEnumEntry() throws Exception { + runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.kt"); + } + @TestMetadata("nestedClass.kt") public void testNestedClass() throws Exception { runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/nestedClass.kt"); diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.kt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.kt new file mode 100644 index 00000000000..05fb1f8ebd5 --- /dev/null +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.kt @@ -0,0 +1,13 @@ +enum class SomeEnum { + A { + init { + fun foo() {} + + class Local {} + } + + class Nested + + fun foo() {} + } +} diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.lazyBodies.txt new file mode 100644 index 00000000000..66e2c3cb951 --- /dev/null +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.lazyBodies.txt @@ -0,0 +1,17 @@ +FILE: localDeclarationsInEnumEntry.kt + public? final? enum class SomeEnum : R|kotlin/Enum| { + private constructor(): R|SomeEnum| { + LAZY_super|> + } + + public final static enum entry A: R|SomeEnum| = LAZY_EXPRESSION + public final static fun values(): R|kotlin/Array| { + } + + public final static fun valueOf(value: R|kotlin/String|): R|SomeEnum| { + } + + public final static val entries: R|kotlin/enums/EnumEntries| + public get(): R|kotlin/enums/EnumEntries| + + } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.txt new file mode 100644 index 00000000000..253845afcae --- /dev/null +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.txt @@ -0,0 +1,46 @@ +FILE: localDeclarationsInEnumEntry.kt + public? final? enum class SomeEnum : R|kotlin/Enum| { + private [ContainingClassKey=SomeEnum] constructor(): R|SomeEnum| { + super|>() + } + + public final static [ContainingClassKey=SomeEnum] enum entry A: R|SomeEnum| = object : R|SomeEnum| { + private [ContainingClassKey=] constructor(): R|| { + super() + } + + init { + local final? fun foo(): R|kotlin/Unit| { + } + + local final? class Local : R|kotlin/Any| { + public? [ContainingClassKey=Local] constructor(): R|/Local| { + super() + } + + } + + } + + local final? [ContainingClassKey=] class Nested : R|kotlin/Any| { + public? [ContainingClassKey=Nested] constructor(): R|/Nested| { + super() + } + + } + + public? final? fun foo(): R|kotlin/Unit| { + } + + } + + public final static [ContainingClassKey=SomeEnum] fun values(): R|kotlin/Array| { + } + + public final static [ContainingClassKey=SomeEnum] fun valueOf(value: R|kotlin/String|): R|SomeEnum| { + } + + public final static [ContainingClassKey=SomeEnum] val entries: R|kotlin/enums/EnumEntries| + public get(): R|kotlin/enums/EnumEntries| + + } diff --git a/compiler/fir/raw-fir/psi2fir/tests-gen/org/jetbrains/kotlin/fir/builder/RawFirBuilderLazyBodiesTestCaseGenerated.java b/compiler/fir/raw-fir/psi2fir/tests-gen/org/jetbrains/kotlin/fir/builder/RawFirBuilderLazyBodiesTestCaseGenerated.java index c23a741e900..2fe3841fb87 100644 --- a/compiler/fir/raw-fir/psi2fir/tests-gen/org/jetbrains/kotlin/fir/builder/RawFirBuilderLazyBodiesTestCaseGenerated.java +++ b/compiler/fir/raw-fir/psi2fir/tests-gen/org/jetbrains/kotlin/fir/builder/RawFirBuilderLazyBodiesTestCaseGenerated.java @@ -191,6 +191,11 @@ public class RawFirBuilderLazyBodiesTestCaseGenerated extends AbstractRawFirBuil runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/invalidDestructing.kt"); } + @TestMetadata("localDeclarationsInEnumEntry.kt") + public void testLocalDeclarationsInEnumEntry() throws Exception { + runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.kt"); + } + @TestMetadata("nestedClass.kt") public void testNestedClass() throws Exception { runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/nestedClass.kt"); diff --git a/compiler/fir/raw-fir/psi2fir/tests-gen/org/jetbrains/kotlin/fir/builder/RawFirBuilderTestCaseGenerated.java b/compiler/fir/raw-fir/psi2fir/tests-gen/org/jetbrains/kotlin/fir/builder/RawFirBuilderTestCaseGenerated.java index 0a619c6b057..6c270dacfed 100644 --- a/compiler/fir/raw-fir/psi2fir/tests-gen/org/jetbrains/kotlin/fir/builder/RawFirBuilderTestCaseGenerated.java +++ b/compiler/fir/raw-fir/psi2fir/tests-gen/org/jetbrains/kotlin/fir/builder/RawFirBuilderTestCaseGenerated.java @@ -191,6 +191,11 @@ public class RawFirBuilderTestCaseGenerated extends AbstractRawFirBuilderTestCas runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/invalidDestructing.kt"); } + @TestMetadata("localDeclarationsInEnumEntry.kt") + public void testLocalDeclarationsInEnumEntry() throws Exception { + runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.kt"); + } + @TestMetadata("nestedClass.kt") public void testNestedClass() throws Exception { runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/nestedClass.kt");