diff --git a/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/LightTree2FirConverterTestCaseGenerated.java b/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/LightTree2FirConverterTestCaseGenerated.java index 6ef52d49196..e57a181ef9b 100644 --- a/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/LightTree2FirConverterTestCaseGenerated.java +++ b/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/LightTree2FirConverterTestCaseGenerated.java @@ -60,6 +60,11 @@ public class LightTree2FirConverterTestCaseGenerated extends AbstractLightTree2F runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorOfAnonymousObject.kt"); } + @TestMetadata("delegates.kt") + public void testDelegates() throws Exception { + runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegates.kt"); + } + @TestMetadata("derivedClass.kt") public void testDerivedClass() throws Exception { runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/derivedClass.kt"); diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegates.kt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegates.kt new file mode 100644 index 00000000000..1fe6e7121c8 --- /dev/null +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegates.kt @@ -0,0 +1,13 @@ +import kotlin.properties.ReadWriteProperty +import kotlin.reflect.KProperty + +val x: Int by lazy { 1 + 2 } + +val delegate = object: ReadWriteProperty { + override fun getValue(thisRef: Any?, property: KProperty<*>): Int = 1 + override fun setValue(thisRef: Any?, property: KProperty<*>, value: Int) {} +} + +val value by delegate + +var variable by delegate diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegates.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegates.lazyBodies.txt new file mode 100644 index 00000000000..1e06ed88f37 --- /dev/null +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegates.lazyBodies.txt @@ -0,0 +1,18 @@ +FILE: delegates.kt + public? final? val x: Intby LAZY_EXPRESSION + public? get(): { + ^ D|/x|.getValue#(Null(null), ::R|/x|) + } + public? final? val delegate: = LAZY_EXPRESSION + public? get(): + public? final? val value: by LAZY_EXPRESSION + public? get(): { + ^ D|/value|.getValue#(Null(null), ::R|/value|) + } + public? final? var variable: by LAZY_EXPRESSION + public? get(): { + ^ D|/variable|.getValue#(Null(null), ::R|/variable|) + } + public? set(: ): R|kotlin/Unit| { + D|/variable|.setValue#(Null(null), ::R|/variable|, R|/variable|) + } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegates.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegates.txt new file mode 100644 index 00000000000..9d0742ad319 --- /dev/null +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegates.txt @@ -0,0 +1,34 @@ +FILE: delegates.kt + public? final? val x: Intby lazy#( = lazy@fun .(): { + IntegerLiteral(1).plus#(IntegerLiteral(2)) + } + ) + public? get(): { + ^ D|/x|.getValue#(Null(null), ::R|/x|) + } + public? final? val delegate: = object : ReadWriteProperty { + private constructor(): R|| { + super<>() + } + + public? open? override fun getValue(thisRef: Any?, property: KProperty<*>): Int { + ^getValue IntegerLiteral(1) + } + + public? open? override fun setValue(thisRef: Any?, property: KProperty<*>, value: Int): R|kotlin/Unit| { + } + + } + + public? get(): + public? final? val value: by delegate# + public? get(): { + ^ D|/value|.getValue#(Null(null), ::R|/value|) + } + public? final? var variable: by delegate# + public? get(): { + ^ D|/variable|.getValue#(Null(null), ::R|/variable|) + } + public? set(: ): R|kotlin/Unit| { + D|/variable|.setValue#(Null(null), ::R|/variable|, R|/variable|) + } diff --git a/compiler/fir/raw-fir/psi2fir/tests/org/jetbrains/kotlin/fir/builder/RawFirBuilderLazyBodiesTestCaseGenerated.java b/compiler/fir/raw-fir/psi2fir/tests/org/jetbrains/kotlin/fir/builder/RawFirBuilderLazyBodiesTestCaseGenerated.java index 89ff228b7d8..74e61729ab3 100644 --- a/compiler/fir/raw-fir/psi2fir/tests/org/jetbrains/kotlin/fir/builder/RawFirBuilderLazyBodiesTestCaseGenerated.java +++ b/compiler/fir/raw-fir/psi2fir/tests/org/jetbrains/kotlin/fir/builder/RawFirBuilderLazyBodiesTestCaseGenerated.java @@ -60,6 +60,11 @@ public class RawFirBuilderLazyBodiesTestCaseGenerated extends AbstractRawFirBuil runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorOfAnonymousObject.kt"); } + @TestMetadata("delegates.kt") + public void testDelegates() throws Exception { + runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegates.kt"); + } + @TestMetadata("derivedClass.kt") public void testDerivedClass() throws Exception { runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/derivedClass.kt"); diff --git a/compiler/fir/raw-fir/psi2fir/tests/org/jetbrains/kotlin/fir/builder/RawFirBuilderSourceElementUniquenessTestCaseGenerated.java b/compiler/fir/raw-fir/psi2fir/tests/org/jetbrains/kotlin/fir/builder/RawFirBuilderSourceElementUniquenessTestCaseGenerated.java new file mode 100644 index 00000000000..e69de29bb2d diff --git a/compiler/fir/raw-fir/psi2fir/tests/org/jetbrains/kotlin/fir/builder/RawFirBuilderTestCaseGenerated.java b/compiler/fir/raw-fir/psi2fir/tests/org/jetbrains/kotlin/fir/builder/RawFirBuilderTestCaseGenerated.java index fab2e8f8ba2..9ee3466c300 100644 --- a/compiler/fir/raw-fir/psi2fir/tests/org/jetbrains/kotlin/fir/builder/RawFirBuilderTestCaseGenerated.java +++ b/compiler/fir/raw-fir/psi2fir/tests/org/jetbrains/kotlin/fir/builder/RawFirBuilderTestCaseGenerated.java @@ -60,6 +60,11 @@ public class RawFirBuilderTestCaseGenerated extends AbstractRawFirBuilderTestCas runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorOfAnonymousObject.kt"); } + @TestMetadata("delegates.kt") + public void testDelegates() throws Exception { + runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegates.kt"); + } + @TestMetadata("derivedClass.kt") public void testDerivedClass() throws Exception { runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/derivedClass.kt"); diff --git a/compiler/visualizer/tests/org/jetbrains/kotlin/visualizer/fir/FirVisualizerForRawFirDataGenerated.java b/compiler/visualizer/tests/org/jetbrains/kotlin/visualizer/fir/FirVisualizerForRawFirDataGenerated.java index d5725811d73..27b54d72a6b 100644 --- a/compiler/visualizer/tests/org/jetbrains/kotlin/visualizer/fir/FirVisualizerForRawFirDataGenerated.java +++ b/compiler/visualizer/tests/org/jetbrains/kotlin/visualizer/fir/FirVisualizerForRawFirDataGenerated.java @@ -60,6 +60,11 @@ public class FirVisualizerForRawFirDataGenerated extends AbstractFirVisualizer { runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorOfAnonymousObject.kt"); } + @TestMetadata("delegates.kt") + public void testDelegates() throws Exception { + runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegates.kt"); + } + @TestMetadata("derivedClass.kt") public void testDerivedClass() throws Exception { runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/derivedClass.kt"); diff --git a/compiler/visualizer/tests/org/jetbrains/kotlin/visualizer/psi/PsiVisualizerForRawFirDataGenerated.java b/compiler/visualizer/tests/org/jetbrains/kotlin/visualizer/psi/PsiVisualizerForRawFirDataGenerated.java index f403df1559a..9662afd3d49 100644 --- a/compiler/visualizer/tests/org/jetbrains/kotlin/visualizer/psi/PsiVisualizerForRawFirDataGenerated.java +++ b/compiler/visualizer/tests/org/jetbrains/kotlin/visualizer/psi/PsiVisualizerForRawFirDataGenerated.java @@ -60,6 +60,11 @@ public class PsiVisualizerForRawFirDataGenerated extends AbstractPsiVisualizer { runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorOfAnonymousObject.kt"); } + @TestMetadata("delegates.kt") + public void testDelegates() throws Exception { + runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegates.kt"); + } + @TestMetadata("derivedClass.kt") public void testDerivedClass() throws Exception { runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/derivedClass.kt"); diff --git a/idea/idea-fir-performance-tests/tests/org/jetbrains/kotlin/idea/highlighter/FirHighlightingPerformanceTestGenerated.java b/idea/idea-fir-performance-tests/tests/org/jetbrains/kotlin/idea/highlighter/FirHighlightingPerformanceTestGenerated.java index 78c7287d106..a2eede4dfba 100644 --- a/idea/idea-fir-performance-tests/tests/org/jetbrains/kotlin/idea/highlighter/FirHighlightingPerformanceTestGenerated.java +++ b/idea/idea-fir-performance-tests/tests/org/jetbrains/kotlin/idea/highlighter/FirHighlightingPerformanceTestGenerated.java @@ -38,6 +38,11 @@ public class FirHighlightingPerformanceTestGenerated extends AbstractFirHighligh runTest("idea/testData/highlighter/AutoCreatedItParameter.kt"); } + @TestMetadata("DelegatingCtor.kt") + public void testDelegatingCtor() throws Exception { + runTest("idea/testData/highlighter/DelegatingCtor.kt"); + } + @TestMetadata("Destructuring.kt") public void testDestructuring() throws Exception { runTest("idea/testData/highlighter/Destructuring.kt");