diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegate.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegate.kt new file mode 100644 index 00000000000..42199f87283 --- /dev/null +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegate.kt @@ -0,0 +1,2 @@ +// WITH_STDLIB +val x by lazy {1} \ No newline at end of file diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegate.txt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegate.txt new file mode 100644 index 00000000000..c8d54a7bb50 --- /dev/null +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegate.txt @@ -0,0 +1,8 @@ +KT element: KtPropertyDelegate +FIR element: FirFunctionCallImpl + +FIR element rendered: +R|kotlin/lazy|( = lazy@fun (): R|kotlin/Int| { + ^ Int(1) +} +) \ No newline at end of file diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegateExpression.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegateExpression.kt new file mode 100644 index 00000000000..a31a30699c3 --- /dev/null +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegateExpression.kt @@ -0,0 +1,2 @@ +// WITH_STDLIB +val x by lazy {1} \ No newline at end of file diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegateExpression.txt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegateExpression.txt new file mode 100644 index 00000000000..edd837b0291 --- /dev/null +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegateExpression.txt @@ -0,0 +1,8 @@ +KT element: KtCallExpression +FIR element: FirFunctionCallImpl + +FIR element rendered: +R|kotlin/lazy|( = lazy@fun (): R|kotlin/Int| { + ^ Int(1) +} +) \ 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 093b34fa2d3..5b94025ccbe 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 @@ -86,6 +86,28 @@ public class GetOrBuildFirTestGenerated extends AbstractGetOrBuildFirTest { } } + @Nested + @TestMetadata("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations") + @TestDataPath("$PROJECT_ROOT") + public class Declarations { + @Test + public void testAllFilesPresentInDeclarations() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("propertyDelegate.kt") + public void testPropertyDelegate() throws Exception { + runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegate.kt"); + } + + @Test + @TestMetadata("propertyDelegateExpression.kt") + public void testPropertyDelegateExpression() throws Exception { + runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegateExpression.kt"); + } + } + @Nested @TestMetadata("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/inImport") @TestDataPath("$PROJECT_ROOT") diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/test/base/AbstractLowLevelApiTest.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/test/base/AbstractLowLevelApiTest.kt index cf45908567a..a9d28d726c9 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/test/base/AbstractLowLevelApiTest.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/test/base/AbstractLowLevelApiTest.kt @@ -19,8 +19,10 @@ import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.test.bind import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder import org.jetbrains.kotlin.test.builders.testConfiguration +import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives import org.jetbrains.kotlin.test.model.DependencyKind import org.jetbrains.kotlin.test.model.FrontendKinds +import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest import org.jetbrains.kotlin.test.services.* import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator import org.jetbrains.kotlin.test.services.configuration.JvmEnvironmentConfigurator @@ -47,6 +49,9 @@ abstract class AbstractLowLevelApiTest : TestWithDisposable() { assertions = JUnit5Assertions useAdditionalService(::TemporaryDirectoryManagerImpl) + useDirectives(*AbstractKotlinCompilerTest.defaultDirectiveContainers.toTypedArray()) + useDirectives(JvmEnvironmentConfigurationDirectives) + useSourcePreprocessor(::ExpressionMarkersSourceFilePreprocessor) useAdditionalService(::ExpressionMarkerProvider) useAdditionalService(::TestModuleInfoProvider)