From 4b80c2197f7b95d02c33e428ca2d5c74fc33b263 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Tue, 22 Aug 2023 15:56:16 +0900 Subject: [PATCH] [Analysis API] Run code fragment compilation tests against libraries --- ...ceModuleCompilerFacilityTestGenerated.java | 302 ++++++++++++++++++ ...ysisApiFirLibrarySourceTestConfigurator.kt | 2 + .../AbstractCompilerFacilityTest.kt | 9 +- .../compilation/classKinds.ir.txt | 4 +- .../capturing/contextReceiver.ir.txt | 4 +- .../capturing/contextReceiverExplicit.ir.txt | 4 +- .../capturing/extensionReceiver.ir.txt | 4 +- .../extensionReceiverExplicit.ir.txt | 4 +- .../capturing/extensionReceiverLabeled.ir.txt | 4 +- .../capturing/initializer.ir.txt | 4 +- .../codeFragments/capturing/local.ir.txt | 4 +- .../capturing/localFunction.ir.txt | 6 +- ...localFunctionContainingClassClosure.ir.txt | 6 +- ...calFunctionExtensionReceiverClosure.ir.txt | 6 +- ...localFunctionLambdaParameterClosure.ir.txt | 6 +- .../localFunctionLocalClosure.ir.txt | 6 +- .../localFunctionLocalClosureMutating.ir.txt | 6 +- .../localFunctionMultipleCapturing.ir.txt | 6 +- .../localFunctionParameterClosure.ir.txt | 6 +- .../capturing/localMutated.ir.txt | 4 +- ...pleClassAndFunctionContextReceivers.ir.txt | 4 +- .../multipleClassContextReceivers.ir.txt | 4 +- .../multipleFunctionContextReceivers.ir.txt | 4 +- .../capturing/nestedOuterClass.ir.txt | 4 +- .../capturing/objectFunction.ir.txt | 4 +- .../codeFragments/capturing/outerClass.ir.txt | 4 +- .../capturing/outerClassMutated.ir.txt | 4 +- .../capturing/outerClassMutatedPrivate.ir.txt | 4 +- .../capturing/preferCorrectResolve.ir.txt | 4 +- .../capturing/privateMemberCall.ir.txt | 4 +- .../secondClassContextReceiver.ir.txt | 4 +- .../singleClassContextReceiver.ir.txt | 4 +- .../capturing/valueParameter.ir.txt | 4 +- .../codeFragments/customName.ir.txt | 4 +- .../compilation/codeFragments/imports.ir.txt | 4 +- .../codeFragments/inlineFunctionUsage.ir.txt | 4 +- .../inlineFunctionUsageSource.ir.txt | 6 +- .../compilation/codeFragments/local.ir.txt | 4 +- .../compilation/codeFragments/simple.ir.txt | 4 +- .../compilation/imports.ir.txt | 4 +- .../compilation/multipleFiles.ir.txt | 4 +- .../compilation/simple.ir.txt | 4 +- .../jetbrains/kotlin/ir/util/DumpIrTree.kt | 3 +- .../kotlin/ir/util/RenderIrElement.kt | 16 +- .../tests/analysis/api/analysisApi.kt | 24 +- 45 files changed, 425 insertions(+), 105 deletions(-) create mode 100644 analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/compilerFacility/FirIdeNormalAnalysisLibrarySourceModuleCompilerFacilityTestGenerated.java diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/compilerFacility/FirIdeNormalAnalysisLibrarySourceModuleCompilerFacilityTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/compilerFacility/FirIdeNormalAnalysisLibrarySourceModuleCompilerFacilityTestGenerated.java new file mode 100644 index 00000000000..c4fc101e39c --- /dev/null +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/compilerFacility/FirIdeNormalAnalysisLibrarySourceModuleCompilerFacilityTestGenerated.java @@ -0,0 +1,302 @@ +/* + * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.analysis.api.fir.test.cases.generated.cases.components.compilerFacility; + +import com.intellij.testFramework.TestDataPath; +import org.jetbrains.kotlin.test.util.KtTestUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.kotlin.analysis.api.fir.test.configurators.AnalysisApiFirTestConfiguratorFactory; +import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfiguratorFactoryData; +import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfigurator; +import org.jetbrains.kotlin.analysis.test.framework.test.configurators.TestModuleKind; +import org.jetbrains.kotlin.analysis.test.framework.test.configurators.FrontendKind; +import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisSessionMode; +import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiMode; +import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.compilerFacility.AbstractCompilerFacilityTest; +import org.jetbrains.kotlin.test.TestMetadata; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; + +import java.io.File; +import java.util.regex.Pattern; + +/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.analysis.api.GenerateAnalysisApiTestsKt}. DO NOT MODIFY MANUALLY */ +@SuppressWarnings("all") +@TestMetadata("analysis/analysis-api/testData/components/compilerFacility/compilation") +@TestDataPath("$PROJECT_ROOT") +public class FirIdeNormalAnalysisLibrarySourceModuleCompilerFacilityTestGenerated extends AbstractCompilerFacilityTest { + @NotNull + @Override + public AnalysisApiTestConfigurator getConfigurator() { + return AnalysisApiFirTestConfiguratorFactory.INSTANCE.createConfigurator( + new AnalysisApiTestConfiguratorFactoryData( + FrontendKind.Fir, + TestModuleKind.LibrarySource, + AnalysisSessionMode.Normal, + AnalysisApiMode.Ide + ) + ); + } + + @Test + public void testAllFilesPresentInCompilation() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/compilerFacility/compilation"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("classKinds.kt") + public void testClassKinds() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/classKinds.kt"); + } + + @Test + @TestMetadata("imports.kt") + public void testImports() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/imports.kt"); + } + + @Test + @TestMetadata("multipleFiles.kt") + public void testMultipleFiles() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/multipleFiles.kt"); + } + + @Test + @TestMetadata("simple.kt") + public void testSimple() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/simple.kt"); + } + + @Nested + @TestMetadata("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments") + @TestDataPath("$PROJECT_ROOT") + public class CodeFragments { + @Test + public void testAllFilesPresentInCodeFragments() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("customName.kt") + public void testCustomName() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/customName.kt"); + } + + @Test + @TestMetadata("imports.kt") + public void testImports() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/imports.kt"); + } + + @Test + @TestMetadata("inlineFunctionUsage.kt") + public void testInlineFunctionUsage() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/inlineFunctionUsage.kt"); + } + + @Test + @TestMetadata("inlineFunctionUsageSource.kt") + public void testInlineFunctionUsageSource() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/inlineFunctionUsageSource.kt"); + } + + @Test + @TestMetadata("local.kt") + public void testLocal() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/local.kt"); + } + + @Test + @TestMetadata("simple.kt") + public void testSimple() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/simple.kt"); + } + + @Nested + @TestMetadata("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing") + @TestDataPath("$PROJECT_ROOT") + public class Capturing { + @Test + public void testAllFilesPresentInCapturing() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("contextReceiver.kt") + public void testContextReceiver() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/contextReceiver.kt"); + } + + @Test + @TestMetadata("contextReceiverExplicit.kt") + public void testContextReceiverExplicit() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/contextReceiverExplicit.kt"); + } + + @Test + @TestMetadata("extensionReceiver.kt") + public void testExtensionReceiver() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/extensionReceiver.kt"); + } + + @Test + @TestMetadata("extensionReceiverExplicit.kt") + public void testExtensionReceiverExplicit() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/extensionReceiverExplicit.kt"); + } + + @Test + @TestMetadata("extensionReceiverLabeled.kt") + public void testExtensionReceiverLabeled() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/extensionReceiverLabeled.kt"); + } + + @Test + @TestMetadata("initializer.kt") + public void testInitializer() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/initializer.kt"); + } + + @Test + @TestMetadata("local.kt") + public void testLocal() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/local.kt"); + } + + @Test + @TestMetadata("localFunction.kt") + public void testLocalFunction() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunction.kt"); + } + + @Test + @TestMetadata("localFunctionContainingClassClosure.kt") + public void testLocalFunctionContainingClassClosure() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionContainingClassClosure.kt"); + } + + @Test + @TestMetadata("localFunctionExtensionReceiverClosure.kt") + public void testLocalFunctionExtensionReceiverClosure() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionExtensionReceiverClosure.kt"); + } + + @Test + @TestMetadata("localFunctionLambdaParameterClosure.kt") + public void testLocalFunctionLambdaParameterClosure() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionLambdaParameterClosure.kt"); + } + + @Test + @TestMetadata("localFunctionLocalClosure.kt") + public void testLocalFunctionLocalClosure() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionLocalClosure.kt"); + } + + @Test + @TestMetadata("localFunctionLocalClosureMutating.kt") + public void testLocalFunctionLocalClosureMutating() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionLocalClosureMutating.kt"); + } + + @Test + @TestMetadata("localFunctionMultipleCapturing.kt") + public void testLocalFunctionMultipleCapturing() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionMultipleCapturing.kt"); + } + + @Test + @TestMetadata("localFunctionParameterClosure.kt") + public void testLocalFunctionParameterClosure() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionParameterClosure.kt"); + } + + @Test + @TestMetadata("localMutated.kt") + public void testLocalMutated() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localMutated.kt"); + } + + @Test + @TestMetadata("multipleClassAndFunctionContextReceivers.kt") + public void testMultipleClassAndFunctionContextReceivers() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/multipleClassAndFunctionContextReceivers.kt"); + } + + @Test + @TestMetadata("multipleClassContextReceivers.kt") + public void testMultipleClassContextReceivers() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/multipleClassContextReceivers.kt"); + } + + @Test + @TestMetadata("multipleFunctionContextReceivers.kt") + public void testMultipleFunctionContextReceivers() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/multipleFunctionContextReceivers.kt"); + } + + @Test + @TestMetadata("nestedOuterClass.kt") + public void testNestedOuterClass() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/nestedOuterClass.kt"); + } + + @Test + @TestMetadata("objectFunction.kt") + public void testObjectFunction() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/objectFunction.kt"); + } + + @Test + @TestMetadata("outerClass.kt") + public void testOuterClass() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/outerClass.kt"); + } + + @Test + @TestMetadata("outerClassMutated.kt") + public void testOuterClassMutated() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/outerClassMutated.kt"); + } + + @Test + @TestMetadata("outerClassMutatedPrivate.kt") + public void testOuterClassMutatedPrivate() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/outerClassMutatedPrivate.kt"); + } + + @Test + @TestMetadata("preferCorrectResolve.kt") + public void testPreferCorrectResolve() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/preferCorrectResolve.kt"); + } + + @Test + @TestMetadata("privateMemberCall.kt") + public void testPrivateMemberCall() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/privateMemberCall.kt"); + } + + @Test + @TestMetadata("secondClassContextReceiver.kt") + public void testSecondClassContextReceiver() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/secondClassContextReceiver.kt"); + } + + @Test + @TestMetadata("singleClassContextReceiver.kt") + public void testSingleClassContextReceiver() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/singleClassContextReceiver.kt"); + } + + @Test + @TestMetadata("valueParameter.kt") + public void testValueParameter() throws Exception { + runTest("analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/valueParameter.kt"); + } + } + } +} diff --git a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/test/configurators/library/AnalysisApiFirLibrarySourceTestConfigurator.kt b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/test/configurators/library/AnalysisApiFirLibrarySourceTestConfigurator.kt index 940b0c977dd..f60ab547f14 100644 --- a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/test/configurators/library/AnalysisApiFirLibrarySourceTestConfigurator.kt +++ b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/test/configurators/library/AnalysisApiFirLibrarySourceTestConfigurator.kt @@ -27,6 +27,7 @@ import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.services.ServiceRegistrationData import org.jetbrains.kotlin.test.services.TestModuleStructure import org.jetbrains.kotlin.test.services.TestServices +import org.jetbrains.kotlin.test.services.configuration.JvmEnvironmentConfigurator object AnalysisApiFirLibrarySourceTestConfigurator : AnalysisApiTestConfigurator() { override val analyseInDependentSession: Boolean get() = false @@ -41,6 +42,7 @@ object AnalysisApiFirLibrarySourceTestConfigurator : AnalysisApiTestConfigurator useAdditionalService { KtLibrarySourceModuleFactory() } useDirectives(SealedClassesInheritorsCaclulatorPreAnalysisHandler.Directives) usePreAnalysisHandlers(::SealedClassesInheritorsCaclulatorPreAnalysisHandler) + useConfigurators(::JvmEnvironmentConfigurator) } } diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/compilerFacility/AbstractCompilerFacilityTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/compilerFacility/AbstractCompilerFacilityTest.kt index f6020805538..39b15efc1cc 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/compilerFacility/AbstractCompilerFacilityTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/compilerFacility/AbstractCompilerFacilityTest.kt @@ -22,6 +22,7 @@ import org.jetbrains.kotlin.codegen.ClassBuilderFactories import org.jetbrains.kotlin.config.CommonConfigurationKeys import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.JVMConfigurationKeys +import org.jetbrains.kotlin.fileClasses.javaFileFacadeFqName import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors import org.jetbrains.kotlin.ir.declarations.IrModuleFragment import org.jetbrains.kotlin.ir.util.DumpIrTreeOptions @@ -199,7 +200,13 @@ private class CollectingIrGenerationExtension : IrGenerationExtension { override fun generate(moduleFragment: IrModuleFragment, pluginContext: IrPluginContext) { assertFalse { ::result.isInitialized } - val dumpOptions = DumpIrTreeOptions(normalizeNames = true, stableOrder = true) + val dumpOptions = DumpIrTreeOptions( + normalizeNames = true, + stableOrder = true, + printModuleName = false, + printFilePath = false + ) + result = moduleFragment.dump(dumpOptions) } } \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/classKinds.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/classKinds.ir.txt index 7767526c5af..349f4cea1ef 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/classKinds.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/classKinds.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/classKinds.kt +MODULE_FRAGMENT + FILE fqName: fileName:classKinds.kt CLASS ANNOTATION_CLASS name:Anno modality:OPEN visibility:public superTypes:[kotlin.Annotation] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Anno CONSTRUCTOR visibility:public <> () returnType:.Anno [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/contextReceiver.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/contextReceiver.ir.txt index 9be3ad1f48c..bcad424ceb0 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/contextReceiver.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/contextReceiver.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/contextReceiverExplicit.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/contextReceiverExplicit.ir.txt index 9be3ad1f48c..bcad424ceb0 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/contextReceiverExplicit.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/contextReceiverExplicit.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/extensionReceiver.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/extensionReceiver.ir.txt index 1d86e1a2551..a93a2f98bea 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/extensionReceiver.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/extensionReceiver.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/extensionReceiverExplicit.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/extensionReceiverExplicit.ir.txt index 5ef8203f2b4..468052ddae9 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/extensionReceiverExplicit.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/extensionReceiverExplicit.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/extensionReceiverLabeled.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/extensionReceiverLabeled.ir.txt index 5ef8203f2b4..468052ddae9 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/extensionReceiverLabeled.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/extensionReceiverLabeled.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/initializer.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/initializer.ir.txt index 2223c310fb2..0cc5dd7fe7d 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/initializer.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/initializer.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/local.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/local.ir.txt index c80792aa132..a5c6602510d 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/local.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/local.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunction.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunction.ir.txt index e6ecff33f07..f4b725b7f5f 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunction.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunction.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/localFunction.kt +MODULE_FRAGMENT + FILE fqName: fileName:localFunction.kt FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY FUN LOCAL_FUNCTION name:call visibility:local modality:FINAL <> (a:kotlin.Int, b:kotlin.String) returnType:kotlin.Unit @@ -16,7 +16,7 @@ MODULE_FRAGMENT name: CONST String type=kotlin.String value="foo" VAR name:z type:kotlin.Unit [val] GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit - FILE fqName: fileName:/fragment.kt + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionContainingClassClosure.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionContainingClassClosure.ir.txt index b7f45284850..af6745ebdbd 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionContainingClassClosure.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionContainingClassClosure.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/localFunctionContainingClassClosure.kt +MODULE_FRAGMENT + FILE fqName: fileName:localFunctionContainingClassClosure.kt CLASS CLASS name:Foo modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Foo CONSTRUCTOR visibility:public <> () returnType:.Foo [primary] @@ -30,7 +30,7 @@ MODULE_FRAGMENT name: FUN name:consume visibility:public modality:FINAL <> (obj:.Foo) returnType:kotlin.Unit VALUE_PARAMETER name:obj index:0 type:.Foo BLOCK_BODY - FILE fqName: fileName:/fragment.kt + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionExtensionReceiverClosure.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionExtensionReceiverClosure.ir.txt index 72f12760107..8dab55f99bb 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionExtensionReceiverClosure.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionExtensionReceiverClosure.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/localFunctionExtensionReceiverClosure.kt +MODULE_FRAGMENT + FILE fqName: fileName:localFunctionExtensionReceiverClosure.kt FUN name:block visibility:public modality:FINAL (obj:T of .block, block:@[ExtensionFunctionType] kotlin.Function1.block, kotlin.Unit>) returnType:kotlin.Unit TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:obj index:0 type:T of .block @@ -25,7 +25,7 @@ MODULE_FRAGMENT name: CALL 'public final fun consume (text: kotlin.String): kotlin.Unit declared in ' type=kotlin.Unit origin=null text: GET_VAR '$this$block: kotlin.String declared in .test.' type=kotlin.String origin=null CALL 'local final fun call (): kotlin.Unit declared in .test.' type=kotlin.Unit origin=null - FILE fqName: fileName:/fragment.kt + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionLambdaParameterClosure.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionLambdaParameterClosure.ir.txt index 3fa8f02cbd4..f19a55d766e 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionLambdaParameterClosure.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionLambdaParameterClosure.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/localFunctionLambdaParameterClosure.kt +MODULE_FRAGMENT + FILE fqName: fileName:localFunctionLambdaParameterClosure.kt FUN name:block visibility:public modality:FINAL (obj:T of .block, block:kotlin.Function1.block, kotlin.Unit>) returnType:kotlin.Unit TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:obj index:0 type:T of .block @@ -25,7 +25,7 @@ MODULE_FRAGMENT name: CALL 'public final fun consume (text: kotlin.String): kotlin.Unit declared in ' type=kotlin.Unit origin=null text: GET_VAR 'foo: kotlin.String declared in .test.' type=kotlin.String origin=null CALL 'local final fun call (): kotlin.Unit declared in .test.' type=kotlin.Unit origin=null - FILE fqName: fileName:/fragment.kt + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionLocalClosure.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionLocalClosure.ir.txt index bea983290dc..789e0a10758 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionLocalClosure.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionLocalClosure.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/localFunctionLocalClosure.kt +MODULE_FRAGMENT + FILE fqName: fileName:localFunctionLocalClosure.kt FUN name:consume visibility:public modality:FINAL <> (n:kotlin.Int) returnType:kotlin.Unit VALUE_PARAMETER name:n index:0 type:kotlin.Int BLOCK_BODY @@ -12,7 +12,7 @@ MODULE_FRAGMENT name: CALL 'public final fun consume (n: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=null n: GET_VAR 'val x: kotlin.Int [val] declared in .test' type=kotlin.Int origin=null CALL 'local final fun call (): kotlin.Unit declared in .test' type=kotlin.Unit origin=null - FILE fqName: fileName:/fragment.kt + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionLocalClosureMutating.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionLocalClosureMutating.ir.txt index 4e7ee0e8f8a..9338cb1d42b 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionLocalClosureMutating.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionLocalClosureMutating.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/localFunctionLocalClosureMutating.kt +MODULE_FRAGMENT + FILE fqName: fileName:localFunctionLocalClosureMutating.kt FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY VAR name:x type:kotlin.Int [var] @@ -9,7 +9,7 @@ MODULE_FRAGMENT name: SET_VAR 'var x: kotlin.Int [var] declared in .test' type=kotlin.Unit origin=EQ CONST Int type=kotlin.Int value=1 CALL 'local final fun call (): kotlin.Unit declared in .test' type=kotlin.Unit origin=null - FILE fqName: fileName:/fragment.kt + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionMultipleCapturing.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionMultipleCapturing.ir.txt index 2b9ad432c7d..c8221c7c3c4 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionMultipleCapturing.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionMultipleCapturing.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/localFunctionMultipleCapturing.kt +MODULE_FRAGMENT + FILE fqName: fileName:localFunctionMultipleCapturing.kt CLASS CLASS name:Foo modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Foo CONSTRUCTOR visibility:public <> () returnType:.Foo [primary] @@ -40,7 +40,7 @@ MODULE_FRAGMENT name: FUN name:consume visibility:public modality:FINAL <> (obj:kotlin.Any) returnType:kotlin.Unit VALUE_PARAMETER name:obj index:0 type:kotlin.Any BLOCK_BODY - FILE fqName: fileName:/fragment.kt + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionParameterClosure.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionParameterClosure.ir.txt index 5d7cc3ff360..248ba122374 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionParameterClosure.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localFunctionParameterClosure.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/localFunctionParameterClosure.kt +MODULE_FRAGMENT + FILE fqName: fileName:localFunctionParameterClosure.kt FUN name:consume visibility:public modality:FINAL <> (n:kotlin.Int) returnType:kotlin.Unit VALUE_PARAMETER name:n index:0 type:kotlin.Int BLOCK_BODY @@ -11,7 +11,7 @@ MODULE_FRAGMENT name: CALL 'public final fun consume (n: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=null n: GET_VAR 'x: kotlin.Int declared in .test' type=kotlin.Int origin=null CALL 'local final fun call (): kotlin.Unit declared in .test' type=kotlin.Unit origin=null - FILE fqName: fileName:/fragment.kt + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localMutated.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localMutated.ir.txt index a98340be514..3c19663900e 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localMutated.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/localMutated.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/multipleClassAndFunctionContextReceivers.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/multipleClassAndFunctionContextReceivers.ir.txt index b754570b94a..2afd9456576 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/multipleClassAndFunctionContextReceivers.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/multipleClassAndFunctionContextReceivers.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/multipleClassContextReceivers.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/multipleClassContextReceivers.ir.txt index 39516e546e1..ca2c1fc39cc 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/multipleClassContextReceivers.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/multipleClassContextReceivers.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/multipleFunctionContextReceivers.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/multipleFunctionContextReceivers.ir.txt index 5bfb81c8ae1..4f02d1cd315 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/multipleFunctionContextReceivers.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/multipleFunctionContextReceivers.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/nestedOuterClass.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/nestedOuterClass.ir.txt index 93578293e17..bf10efa80f4 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/nestedOuterClass.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/nestedOuterClass.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/objectFunction.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/objectFunction.ir.txt index b7d37e447f9..1b80a2db838 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/objectFunction.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/objectFunction.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/outerClass.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/outerClass.ir.txt index a8268fc0a41..c6199ec9cdf 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/outerClass.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/outerClass.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/outerClassMutated.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/outerClassMutated.ir.txt index a3682324011..4d7a39d80c3 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/outerClassMutated.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/outerClassMutated.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/outerClassMutatedPrivate.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/outerClassMutatedPrivate.ir.txt index 1e4f88f2e35..90379ae0caf 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/outerClassMutatedPrivate.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/outerClassMutatedPrivate.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/preferCorrectResolve.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/preferCorrectResolve.ir.txt index f6a4ee95c48..cf596f23163 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/preferCorrectResolve.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/preferCorrectResolve.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/privateMemberCall.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/privateMemberCall.ir.txt index bba79677f0d..8cafae6b2b9 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/privateMemberCall.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/privateMemberCall.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/secondClassContextReceiver.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/secondClassContextReceiver.ir.txt index 67c634f8154..43558a1c2ab 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/secondClassContextReceiver.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/secondClassContextReceiver.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/singleClassContextReceiver.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/singleClassContextReceiver.ir.txt index dfaf6f1c4d6..3b40281e4cc 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/singleClassContextReceiver.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/singleClassContextReceiver.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/valueParameter.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/valueParameter.ir.txt index f5fbe3bd698..abbf606fb24 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/valueParameter.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/capturing/valueParameter.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/customName.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/customName.ir.txt index 671c052e810..525c18387d7 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/customName.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/customName.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:MyCodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyCodeFragment CONSTRUCTOR visibility:public <> () returnType:.MyCodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/imports.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/imports.ir.txt index e174086351e..6d3732f20d4 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/imports.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/imports.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/inlineFunctionUsage.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/inlineFunctionUsage.ir.txt index ca6e4f62829..b9b90217a93 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/inlineFunctionUsage.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/inlineFunctionUsage.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/inlineFunctionUsageSource.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/inlineFunctionUsageSource.ir.txt index 75e03641a0b..6fc00127769 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/inlineFunctionUsageSource.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/inlineFunctionUsageSource.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/inlineFunctionUsageSource.kt +MODULE_FRAGMENT + FILE fqName: fileName:inlineFunctionUsageSource.kt FUN name:call visibility:public modality:FINAL <> (block:kotlin.Function1) returnType:kotlin.Unit [inline] VALUE_PARAMETER name:block index:0 type:kotlin.Function1 BLOCK_BODY @@ -12,7 +12,7 @@ MODULE_FRAGMENT name: BLOCK_BODY VAR name:x type:kotlin.Int [val] CONST Int type=kotlin.Int value=0 - FILE fqName: fileName:/fragment.kt + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/local.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/local.ir.txt index a0bc98f23a0..a05b5e75f11 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/local.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/local.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/simple.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/simple.ir.txt index 011b1e7f675..4666c74a241 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/simple.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/codeFragments/simple.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/fragment.kt +MODULE_FRAGMENT + FILE fqName: fileName:fragment.kt CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CodeFragment CONSTRUCTOR visibility:public <> () returnType:.CodeFragment [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/imports.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/imports.ir.txt index 141de1b4bd6..8d6df1781ed 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/imports.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/imports.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/imports.kt +MODULE_FRAGMENT + FILE fqName: fileName:imports.kt FUN name:main visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY CALL 'public final fun writeText (text: kotlin.String, charset: java.nio.charset.Charset): kotlin.Unit declared in kotlin.io' type=kotlin.Unit origin=null diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/multipleFiles.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/multipleFiles.ir.txt index 5a1bc0fcf26..2f0d1b152ff 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/multipleFiles.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/multipleFiles.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName:main fileName:/main.kt +MODULE_FRAGMENT + FILE fqName:main fileName:main.kt CLASS OBJECT name:Main modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:main.Main CONSTRUCTOR visibility:private <> () returnType:main.Main [primary] diff --git a/analysis/analysis-api/testData/components/compilerFacility/compilation/simple.ir.txt b/analysis/analysis-api/testData/components/compilerFacility/compilation/simple.ir.txt index f2db80f4750..7057a860c64 100644 --- a/analysis/analysis-api/testData/components/compilerFacility/compilation/simple.ir.txt +++ b/analysis/analysis-api/testData/components/compilerFacility/compilation/simple.ir.txt @@ -1,5 +1,5 @@ -MODULE_FRAGMENT name: - FILE fqName: fileName:/simple.kt +MODULE_FRAGMENT + FILE fqName: fileName:simple.kt FUN name:main visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt index 3e803c97531..97581014304 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt @@ -21,7 +21,6 @@ import org.jetbrains.kotlin.ir.IrFileEntry import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.expressions.* import org.jetbrains.kotlin.ir.symbols.IrSymbol -import org.jetbrains.kotlin.ir.types.IrErrorType import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.visitors.IrElementVisitor import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid @@ -62,6 +61,8 @@ data class DumpIrTreeOptions( val printFlagsInDeclarationReferences: Boolean = true, val printSignatures: Boolean = false, val printTypeAbbreviations: Boolean = true, + val printModuleName: Boolean = true, + val printFilePath: Boolean = true, ) private fun IrFile.shouldSkipDump(): Boolean { diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt index d8ed55096ce..635bb78ecd0 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt @@ -241,14 +241,22 @@ class RenderIrElementVisitor(private val options: DumpIrTreeOptions = DumpIrTree override fun visitDeclaration(declaration: IrDeclarationBase, data: Nothing?): String = "?DECLARATION? ${declaration::class.java.simpleName} $declaration" - override fun visitModuleFragment(declaration: IrModuleFragment, data: Nothing?): String = - "MODULE_FRAGMENT name:${declaration.name}" + override fun visitModuleFragment(declaration: IrModuleFragment, data: Nothing?): String { + return buildString { + append("MODULE_FRAGMENT") + if (options.printModuleName) { + append(" name:").append(declaration.name) + } + } + } override fun visitExternalPackageFragment(declaration: IrExternalPackageFragment, data: Nothing?): String = "EXTERNAL_PACKAGE_FRAGMENT fqName:${declaration.packageFqName}" - override fun visitFile(declaration: IrFile, data: Nothing?): String = - "FILE fqName:${declaration.packageFqName} fileName:${declaration.path}" + override fun visitFile(declaration: IrFile, data: Nothing?): String { + val fileName = if (options.printFilePath) declaration.path else declaration.name + return "FILE fqName:${declaration.packageFqName} fileName:$fileName" + } override fun visitFunction(declaration: IrFunction, data: Nothing?): String = declaration.runTrimEnd { diff --git a/generators/analysis-api-generator/tests/org/jetbrains/kotlin/generators/tests/analysis/api/analysisApi.kt b/generators/analysis-api-generator/tests/org/jetbrains/kotlin/generators/tests/analysis/api/analysisApi.kt index ae9f40ed272..b6042c7bb4e 100644 --- a/generators/analysis-api-generator/tests/org/jetbrains/kotlin/generators/tests/analysis/api/analysisApi.kt +++ b/generators/analysis-api-generator/tests/org/jetbrains/kotlin/generators/tests/analysis/api/analysisApi.kt @@ -82,6 +82,18 @@ internal fun AnalysisApiTestGroup.generateAnalysisApiTests() { } } + component( + "compilerFacility", + filter = testModuleKindIs(TestModuleKind.Source, TestModuleKind.LibrarySource) + and frontendIs(FrontendKind.Fir) + and analysisSessionModeIs(AnalysisSessionMode.Normal) + and analysisApiModeIs(AnalysisApiMode.Ide) + ) { + test(AbstractCompilerFacilityTest::class) { + model("compilation", pattern = TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME) + } + } + group(filter = testModuleKindIs(TestModuleKind.Source, TestModuleKind.ScriptSource)) { generateAnalysisApiComponentsTests() generateAnalysisApiNonComponentsTests() @@ -220,18 +232,6 @@ private fun AnalysisApiTestGroup.generateAnalysisApiComponentsTests() { } } - component( - "compilerFacility", - filter = testModuleKindIs(TestModuleKind.Source) - and frontendIs(FrontendKind.Fir) - and analysisSessionModeIs(AnalysisSessionMode.Normal) - and analysisApiModeIs(AnalysisApiMode.Ide) - ) { - test(AbstractCompilerFacilityTest::class) { - model("compilation", pattern = TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME) - } - } - component("compileTimeConstantProvider") { test(AbstractCompileTimeConstantEvaluatorTest::class) { model(it, "evaluate")