diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KaFirCompilerFacility.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KaFirCompilerFacility.kt index bd0031f3a1e6c..5f02ff0074aa7 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KaFirCompilerFacility.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KaFirCompilerFacility.kt @@ -74,7 +74,6 @@ import org.jetbrains.kotlin.fir.pipeline.* import org.jetbrains.kotlin.fir.references.FirReference import org.jetbrains.kotlin.fir.references.FirThisReference import org.jetbrains.kotlin.fir.references.toResolvedSymbol -import org.jetbrains.kotlin.fir.resolve.referencedMemberSymbol import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhaseRecursively @@ -1087,11 +1086,11 @@ internal class KaFirCompilerFacility( ): Fir2IrActualizedResult { val fir2IrConfiguration = Fir2IrConfiguration.forAnalysisApi(effectiveConfiguration, session.languageVersionSettings, diagnosticReporter) - val firResult = FirResult(listOf(ModuleCompilerAnalyzedOutput(session, session.getScopeSession(), firFiles))) - val singleOutput = firResult.outputs.size == 1 + val frontendOutput = AllModulesFrontendOutput(listOf(SingleModuleFrontendOutput(session, session.getScopeSession(), firFiles))) + val singleOutput = frontendOutput.outputs.size == 1 check(singleOutput) { "Single output invariant is used in the lambda below" } - return firResult.convertToIrAndActualize( + return frontendOutput.convertToIrAndActualize( fir2IrExtensions = fir2IrExtensions, fir2IrConfiguration = fir2IrConfiguration, irGeneratorExtensions = irGeneratorExtensions, diff --git a/analysis/low-level-api-fir/testFixtures/org/jetbrains/kotlin/analysis/low/level/api/fir/compiler/based/LLFirPhaseVerifier.kt b/analysis/low-level-api-fir/testFixtures/org/jetbrains/kotlin/analysis/low/level/api/fir/compiler/based/LLFirPhaseVerifier.kt index ae984b52e395b..f32ff70a7d45d 100644 --- a/analysis/low-level-api-fir/testFixtures/org/jetbrains/kotlin/analysis/low/level/api/fir/compiler/based/LLFirPhaseVerifier.kt +++ b/analysis/low-level-api-fir/testFixtures/org/jetbrains/kotlin/analysis/low/level/api/fir/compiler/based/LLFirPhaseVerifier.kt @@ -36,7 +36,7 @@ internal class LLFirPhaseVerifier(testServices: TestServices) : FirAnalysisHandl override fun processModule(module: TestModule, info: FirOutputArtifact) { val visitor = Visitor() - for (firFile in info.mainFirFiles.values) { + for (firFile in info.mainFirFilesByTestFile.values) { firFile.accept(visitor) } @@ -69,4 +69,4 @@ internal class LLFirPhaseVerifier(testServices: TestServices) : FirAnalysisHandl element.acceptChildren(this) } } -} \ No newline at end of file +} diff --git a/analysis/low-level-api-fir/testFixtures/org/jetbrains/kotlin/analysis/low/level/api/fir/compiler/based/LowLevelFirAnalyzerFacade.kt b/analysis/low-level-api-fir/testFixtures/org/jetbrains/kotlin/analysis/low/level/api/fir/compiler/based/LowLevelFirAnalyzerFacade.kt index c4cc1b92f7a07..616ea16ec1a40 100644 --- a/analysis/low-level-api-fir/testFixtures/org/jetbrains/kotlin/analysis/low/level/api/fir/compiler/based/LowLevelFirAnalyzerFacade.kt +++ b/analysis/low-level-api-fir/testFixtures/org/jetbrains/kotlin/analysis/low/level/api/fir/compiler/based/LowLevelFirAnalyzerFacade.kt @@ -11,8 +11,8 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.collectDiagnosticsFor import org.jetbrains.kotlin.diagnostics.KtDiagnostic import org.jetbrains.kotlin.fir.AbstractFirAnalyzerFacade import org.jetbrains.kotlin.fir.declarations.FirFile -import org.jetbrains.kotlin.fir.pipeline.FirResult -import org.jetbrains.kotlin.fir.pipeline.ModuleCompilerAnalyzedOutput +import org.jetbrains.kotlin.fir.pipeline.AllModulesFrontendOutput +import org.jetbrains.kotlin.fir.pipeline.SingleModuleFrontendOutput import org.jetbrains.kotlin.fir.psi import org.jetbrains.kotlin.fir.resolve.ScopeSession import org.jetbrains.kotlin.fir.util.listMultimapOf @@ -35,10 +35,10 @@ open class LowLevelFirAnalyzerFacade( override val scopeSession: ScopeSession get() = ScopeSession() - override val result: FirResult + override val frontendOutput: AllModulesFrontendOutput get() { - val output = ModuleCompilerAnalyzedOutput(resolutionFacade.useSiteFirSession, scopeSession, allFirFiles.values.toList()) - return FirResult(listOf(output)) + val output = SingleModuleFrontendOutput(resolutionFacade.useSiteFirSession, scopeSession, allFirFiles.values.toList()) + return AllModulesFrontendOutput(listOf(output)) } private var resolved: Boolean = false diff --git a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/pipeline/web/WebFir2IrPipelinePhase.kt b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/pipeline/web/WebFir2IrPipelinePhase.kt index f7e950d8e5f85..2a395135e2b9a 100644 --- a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/pipeline/web/WebFir2IrPipelinePhase.kt +++ b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/pipeline/web/WebFir2IrPipelinePhase.kt @@ -60,7 +60,7 @@ object WebFir2IrPipelinePhase : PipelinePhase, + firOutputs: List, diagnosticsReporter: BaseDiagnosticsCollector, ): Fir2IrActualizedResult { val fir2IrExtensions = Fir2IrExtensions.Default @@ -88,7 +88,7 @@ object WebFir2IrPipelinePhase : PipelinePhase, + firOutputs: List, fir2IrActualizedResult: Fir2IrActualizedResult, ) { val irDiagnosticReporter = diff --git a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/pipeline/web/WebFrontendPipelinePhase.kt b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/pipeline/web/WebFrontendPipelinePhase.kt index 053a26c0a99ea..89dd899f58653 100644 --- a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/pipeline/web/WebFrontendPipelinePhase.kt +++ b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/pipeline/web/WebFrontendPipelinePhase.kt @@ -143,7 +143,7 @@ object WebFrontendPipelinePhase : PipelinePhase compileModuleToAnalyzedFir( @@ -204,9 +204,9 @@ object WebFrontendPipelinePhase : PipelinePhase Boolean, noinline fileBelongsToModule: (F, String) -> Boolean, - buildResolveAndCheckFir: (FirSession, List) -> ModuleCompilerAnalyzedOutput, + buildResolveAndCheckFir: (FirSession, List) -> SingleModuleFrontendOutput, useWasmPlatform: Boolean, - ): List { + ): List { // FIR val extensionRegistrars = FirExtensionRegistrar.getInstances(moduleStructure.project) diff --git a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/pipeline/web/WebKlibInliningPipelinePhase.kt b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/pipeline/web/WebKlibInliningPipelinePhase.kt index be37201ee4098..243701e2f5ec4 100644 --- a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/pipeline/web/WebKlibInliningPipelinePhase.kt +++ b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/pipeline/web/WebKlibInliningPipelinePhase.kt @@ -20,7 +20,7 @@ import org.jetbrains.kotlin.config.phaser.PhaserState import org.jetbrains.kotlin.diagnostics.impl.deduplicating import org.jetbrains.kotlin.fir.pipeline.Fir2IrActualizedResult import org.jetbrains.kotlin.fir.pipeline.Fir2KlibMetadataSerializer -import org.jetbrains.kotlin.fir.pipeline.FirResult +import org.jetbrains.kotlin.fir.pipeline.AllModulesFrontendOutput import org.jetbrains.kotlin.ir.KtDiagnosticReporterWithImplicitIrBasedContext import org.jetbrains.kotlin.ir.backend.js.JsPreSerializationLoweringContext import org.jetbrains.kotlin.ir.backend.js.ModulesStructure @@ -62,7 +62,7 @@ object WebKlibInliningPipelinePhase : PipelinePhase -) \ No newline at end of file +) diff --git a/compiler/cli/cli-native-klib/src/main/kotlin/org/jetbrains/kotlin/native/FirFrontend.kt b/compiler/cli/cli-native-klib/src/main/kotlin/org/jetbrains/kotlin/native/FirFrontend.kt index 45ec4cf66e585..40fcac03069c6 100644 --- a/compiler/cli/cli-native-klib/src/main/kotlin/org/jetbrains/kotlin/native/FirFrontend.kt +++ b/compiler/cli/cli-native-klib/src/main/kotlin/org/jetbrains/kotlin/native/FirFrontend.kt @@ -31,7 +31,7 @@ private inline fun PhaseContext.firFrontend( fileHasSyntaxErrors: (F) -> Boolean, noinline isCommonSource: (F) -> Boolean, noinline fileBelongsToModule: (F, String) -> Boolean, - buildResolveAndCheckFir: (FirSession, List, BaseDiagnosticsCollector) -> ModuleCompilerAnalyzedOutput, + buildResolveAndCheckFir: (FirSession, List, BaseDiagnosticsCollector) -> SingleModuleFrontendOutput, ): FirOutput { val configuration = input.configuration val messageCollector = configuration.getNotNull(CommonConfigurationKeys.MESSAGE_COLLECTOR_KEY) @@ -86,7 +86,7 @@ private inline fun PhaseContext.firFrontend( return if (syntaxErrors || diagnosticsReporter.hasErrors) { throw KonanCompilationException("Compilation failed: there were frontend errors") } else { - FirOutput.Full(FirResult(outputs)) + FirOutput.Full(AllModulesFrontendOutput(outputs)) } } diff --git a/compiler/cli/cli-native-klib/src/main/kotlin/org/jetbrains/kotlin/native/FirNativeSerializer.kt b/compiler/cli/cli-native-klib/src/main/kotlin/org/jetbrains/kotlin/native/FirNativeSerializer.kt index 9207485cef33c..499ed19bb18c3 100644 --- a/compiler/cli/cli-native-klib/src/main/kotlin/org/jetbrains/kotlin/native/FirNativeSerializer.kt +++ b/compiler/cli/cli-native-klib/src/main/kotlin/org/jetbrains/kotlin/native/FirNativeSerializer.kt @@ -20,7 +20,7 @@ import org.jetbrains.kotlin.diagnostics.DiagnosticReporterFactory import org.jetbrains.kotlin.diagnostics.impl.deduplicating import org.jetbrains.kotlin.fir.moduleData import org.jetbrains.kotlin.fir.pipeline.Fir2KlibMetadataSerializer -import org.jetbrains.kotlin.fir.pipeline.FirResult +import org.jetbrains.kotlin.fir.pipeline.AllModulesFrontendOutput import org.jetbrains.kotlin.ir.KtDiagnosticReporterWithImplicitIrBasedContext import org.jetbrains.kotlin.konan.library.KonanLibrary import org.jetbrains.kotlin.library.metadata.resolver.TopologicalLibraryOrder @@ -31,11 +31,11 @@ fun PhaseContext.firSerializer(input: FirOutput): SerializerOutput? = when (inpu } fun PhaseContext.fir2IrSerializer(input: FirSerializerInput): SerializerOutput { - return firSerializerBase(input.firToIrOutput.firResult, input.firToIrOutput, produceHeaderKlib = input.produceHeaderKlib) + return firSerializerBase(input.firToIrOutput.frontendOutput, input.firToIrOutput, produceHeaderKlib = input.produceHeaderKlib) } private fun PhaseContext.firSerializerBase( - firResult: FirResult, + firResult: AllModulesFrontendOutput, fir2IrOutput: Fir2IrOutput?, produceHeaderKlib: Boolean = false, ): SerializerOutput { diff --git a/compiler/cli/cli-native-klib/src/main/kotlin/org/jetbrains/kotlin/native/FirOutput.kt b/compiler/cli/cli-native-klib/src/main/kotlin/org/jetbrains/kotlin/native/FirOutput.kt index 8ed6e08e35976..a49a955aa1933 100644 --- a/compiler/cli/cli-native-klib/src/main/kotlin/org/jetbrains/kotlin/native/FirOutput.kt +++ b/compiler/cli/cli-native-klib/src/main/kotlin/org/jetbrains/kotlin/native/FirOutput.kt @@ -5,10 +5,10 @@ package org.jetbrains.kotlin.native -import org.jetbrains.kotlin.fir.pipeline.FirResult +import org.jetbrains.kotlin.fir.pipeline.AllModulesFrontendOutput sealed class FirOutput { object ShouldNotGenerateCode : FirOutput() - data class Full(val firResult: FirResult) : FirOutput() -} \ No newline at end of file + data class Full(val firResult: AllModulesFrontendOutput) : FirOutput() +} diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/legacy/pipeline/jvmCompilerPipeline.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/legacy/pipeline/jvmCompilerPipeline.kt index b9164bc8d8f7e..b7d83a6e134ee 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/legacy/pipeline/jvmCompilerPipeline.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/legacy/pipeline/jvmCompilerPipeline.kt @@ -45,7 +45,7 @@ import org.jetbrains.kotlin.fir.backend.Fir2IrExtensions import org.jetbrains.kotlin.fir.backend.jvm.* import org.jetbrains.kotlin.fir.backend.utils.extractFirDeclarations import org.jetbrains.kotlin.fir.pipeline.Fir2IrActualizedResult -import org.jetbrains.kotlin.fir.pipeline.FirResult +import org.jetbrains.kotlin.fir.pipeline.AllModulesFrontendOutput import org.jetbrains.kotlin.fir.pipeline.convertToIrAndActualize import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider import org.jetbrains.kotlin.fir.session.IncrementalCompilationContext @@ -66,13 +66,13 @@ import java.io.File fun convertAnalyzedFirToIr( configuration: CompilerConfiguration, targetId: TargetId, - analysisResults: FirResult, + frontendOutput: AllModulesFrontendOutput, environment: ModuleCompilerEnvironment ): ModuleCompilerIrBackendInput { val extensions = JvmFir2IrExtensions(configuration, JvmIrDeserializerImpl()) val (moduleFragment, components, pluginContext, irActualizedResult, _, symbolTable) = - analysisResults.convertToIrAndActualizeForJvm( + frontendOutput.convertToIrAndActualizeForJvm( extensions, configuration, environment.diagnosticsReporter, IrGenerationExtension.getInstances(environment.projectEnvironment.project), ) @@ -89,7 +89,7 @@ fun convertAnalyzedFirToIr( ) } -fun FirResult.convertToIrAndActualizeForJvm( +fun AllModulesFrontendOutput.convertToIrAndActualizeForJvm( fir2IrExtensions: Fir2IrExtensions, configuration: CompilerConfiguration, diagnosticsReporter: BaseDiagnosticsCollector, diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/legacy/pipeline/jvmIncrementalCompilerPipelineLightTree.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/legacy/pipeline/jvmIncrementalCompilerPipelineLightTree.kt index 98e43721f4f5e..c1ef6a32c86cc 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/legacy/pipeline/jvmIncrementalCompilerPipelineLightTree.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/legacy/pipeline/jvmIncrementalCompilerPipelineLightTree.kt @@ -16,7 +16,7 @@ import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.perfManager import org.jetbrains.kotlin.diagnostics.impl.BaseDiagnosticsCollector import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar -import org.jetbrains.kotlin.fir.pipeline.FirResult +import org.jetbrains.kotlin.fir.pipeline.AllModulesFrontendOutput import org.jetbrains.kotlin.fir.pipeline.buildResolveAndCheckFirViaLightTree import org.jetbrains.kotlin.fir.pipeline.runPlatformCheckers import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider @@ -36,7 +36,7 @@ fun compileModuleToAnalyzedFirViaLightTreeIncrementally( input: ModuleCompilerInput, diagnosticsReporter: BaseDiagnosticsCollector, incrementalExcludesScope: AbstractProjectFileSearchScope?, -): FirResult { +): AllModulesFrontendOutput { return MinimizedFrontendContext( projectEnvironment, messageCollector, @@ -58,7 +58,7 @@ private fun FrontendContext.compileModuleToAnalyzedFirViaLightTreeIncrementally( previousStepsSymbolProviders: List, incrementalExcludesScope: AbstractProjectFileSearchScope?, friendPaths: List, -): FirResult { +): AllModulesFrontendOutput { val performanceManager = configuration.perfManager return performanceManager.tryMeasurePhaseTime(PhaseType.Analysis) { var librariesScope = projectEnvironment.getSearchScopeForProjectLibraries() @@ -99,6 +99,6 @@ private fun FrontendContext.compileModuleToAnalyzedFirViaLightTreeIncrementally( buildResolveAndCheckFirViaLightTree(session, sources, diagnosticsReporter, countFilesAndLines) } outputs.runPlatformCheckers(diagnosticsReporter) - FirResult(outputs) + AllModulesFrontendOutput(outputs) } } diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/pipeline/PipelineArtifacts.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/pipeline/PipelineArtifacts.kt index 8b50da2ef4af6..7d31e4a5e0d9c 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/pipeline/PipelineArtifacts.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/pipeline/PipelineArtifacts.kt @@ -14,7 +14,7 @@ import org.jetbrains.kotlin.config.Services import org.jetbrains.kotlin.diagnostics.DiagnosticReporterFactory import org.jetbrains.kotlin.diagnostics.impl.BaseDiagnosticsCollector import org.jetbrains.kotlin.fir.pipeline.Fir2IrActualizedResult -import org.jetbrains.kotlin.fir.pipeline.FirResult +import org.jetbrains.kotlin.fir.pipeline.AllModulesFrontendOutput import org.jetbrains.kotlin.util.PerformanceManager abstract class PipelineArtifact @@ -40,7 +40,7 @@ data class ConfigurationPipelineArtifact( ) : PipelineArtifact() abstract class FrontendPipelineArtifact : PipelineArtifact() { - abstract val result: FirResult + abstract val frontendOutput: AllModulesFrontendOutput abstract val diagnosticCollector: BaseDiagnosticsCollector abstract val configuration: CompilerConfiguration abstract fun withNewDiagnosticCollectorImpl(newDiagnosticsCollector: BaseDiagnosticsCollector): FrontendPipelineArtifact diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/pipeline/jvm/JvmFrontendPipelinePhase.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/pipeline/jvm/JvmFrontendPipelinePhase.kt index f68407e9ed973..01f03118970e1 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/pipeline/jvm/JvmFrontendPipelinePhase.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/pipeline/jvm/JvmFrontendPipelinePhase.kt @@ -182,8 +182,8 @@ object JvmFrontendPipelinePhase : PipelinePhase GroupedKtSources) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/pipeline/jvm/JvmPipelineArtifacts.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/pipeline/jvm/JvmPipelineArtifacts.kt index b85b9f2190307..a907257a46519 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/pipeline/jvm/JvmPipelineArtifacts.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/pipeline/jvm/JvmPipelineArtifacts.kt @@ -16,13 +16,13 @@ import org.jetbrains.kotlin.codegen.state.GenerationState import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.diagnostics.impl.BaseDiagnosticsCollector import org.jetbrains.kotlin.fir.pipeline.Fir2IrActualizedResult -import org.jetbrains.kotlin.fir.pipeline.FirResult +import org.jetbrains.kotlin.fir.pipeline.AllModulesFrontendOutput import org.jetbrains.kotlin.name.FqName class JvmScriptPipelineArtifact(override val exitCode: ExitCode) : PipelineArtifactWithExitCode() data class JvmFrontendPipelineArtifact( - override val result: FirResult, + override val frontendOutput: AllModulesFrontendOutput, override val configuration: CompilerConfiguration, val environment: VfsBasedProjectEnvironment, override val diagnosticCollector: BaseDiagnosticsCollector, diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/pipeline/metadata/MetadataFrontendPipelinePhase.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/pipeline/metadata/MetadataFrontendPipelinePhase.kt index ce1a1b8887c37..6700baec93138 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/pipeline/metadata/MetadataFrontendPipelinePhase.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/pipeline/metadata/MetadataFrontendPipelinePhase.kt @@ -163,7 +163,7 @@ object MetadataFrontendPipelinePhase : PipelinePhase, + analysisResult: List, destDir: File, metadataVersion: BuiltInsBinaryVersion, ): OutputInfo { @@ -93,7 +93,7 @@ object MetadataLegacySerializerPhase : MetadataLegacySerializerPhaseBase(name = object MetadataBuiltinsSerializerPhase : MetadataLegacySerializerPhaseBase(name = "MetadataBuiltinsSerializerPhase") { override fun serialize( - analysisResult: List, + analysisResult: List, destDir: File, metadataVersion: BuiltInsBinaryVersion, ): OutputInfo? { @@ -144,7 +144,7 @@ abstract class MetadataLegacySerializerPhaseBase( } protected abstract fun serialize( - analysisResult: List, + analysisResult: List, destDir: File, metadataVersion: BuiltInsBinaryVersion, ): OutputInfo? diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/pipeline/metadata/MetadataPipelineArtifacts.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/pipeline/metadata/MetadataPipelineArtifacts.kt index 68bc8045807dd..76837f854051b 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/pipeline/metadata/MetadataPipelineArtifacts.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/pipeline/metadata/MetadataPipelineArtifacts.kt @@ -12,12 +12,12 @@ import org.jetbrains.kotlin.cli.pipeline.PipelineArtifact import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.metadataVersion import org.jetbrains.kotlin.diagnostics.impl.BaseDiagnosticsCollector -import org.jetbrains.kotlin.fir.pipeline.FirResult +import org.jetbrains.kotlin.fir.pipeline.AllModulesFrontendOutput import org.jetbrains.kotlin.library.SerializedMetadata import org.jetbrains.kotlin.metadata.builtins.BuiltInsBinaryVersion data class MetadataFrontendPipelineArtifact( - override val result: FirResult, + override val frontendOutput: AllModulesFrontendOutput, override val configuration: CompilerConfiguration, override val diagnosticCollector: BaseDiagnosticsCollector, val sourceFiles: List, diff --git a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/Fir2KlibMetadataSerializer.kt b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/Fir2KlibMetadataSerializer.kt index 8f581b13b0eeb..a23d20b089df5 100644 --- a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/Fir2KlibMetadataSerializer.kt +++ b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/Fir2KlibMetadataSerializer.kt @@ -28,7 +28,7 @@ import org.jetbrains.kotlin.util.klibMetadataVersionOrDefault */ class Fir2KlibMetadataSerializer( compilerConfiguration: CompilerConfiguration, - private val firOutputs: List, + private val firOutputs: List, private val fir2IrActualizedResult: Fir2IrActualizedResult?, private val exportKDoc: Boolean, private val produceHeaderKlib: Boolean, diff --git a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/convertToIr.kt b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/convertToIr.kt index f20cdd0c76d8e..656edc5ad0603 100644 --- a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/convertToIr.kt +++ b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/convertToIr.kt @@ -60,9 +60,10 @@ import org.jetbrains.kotlin.utils.addToStdlib.applyIf import org.jetbrains.kotlin.utils.addToStdlib.runIf import org.jetbrains.kotlin.utils.exceptions.rethrowIntellijPlatformExceptionIfNeeded -data class FirResult(val outputs: List) +@JvmInline +value class AllModulesFrontendOutput(val outputs: List) -data class ModuleCompilerAnalyzedOutput( +data class SingleModuleFrontendOutput( val session: FirSession, val scopeSession: ScopeSession, val fir: List @@ -77,7 +78,7 @@ data class Fir2IrActualizedResult( val symbolTable: SymbolTable, ) -fun List.runPlatformCheckers(reporter: BaseDiagnosticsCollector) { +fun List.runPlatformCheckers(reporter: BaseDiagnosticsCollector) { val platformModule = this.last() val session = platformModule.session // Skip checkers in header mode. @@ -88,7 +89,7 @@ fun List.runPlatformCheckers(reporter: BaseDiagnos session.runCheckers(scopeSession, allFiles, reporter, MppCheckerKind.Platform) } -fun FirResult.convertToIrAndActualize( +fun AllModulesFrontendOutput.convertToIrAndActualize( fir2IrExtensions: Fir2IrExtensions, fir2IrConfiguration: Fir2IrConfiguration, irGeneratorExtensions: Collection, @@ -119,7 +120,7 @@ fun FirResult.convertToIrAndActualize( } private class Fir2IrPipeline( - val outputs: List, + val outputs: List, val fir2IrExtensions: Fir2IrExtensions, val fir2IrConfiguration: Fir2IrConfiguration, val irGeneratorExtensions: Collection, diff --git a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/firUtils.kt b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/firUtils.kt index 9ee4b9c8355fb..75aaee2093273 100644 --- a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/firUtils.kt +++ b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/firUtils.kt @@ -62,7 +62,7 @@ fun buildResolveAndCheckFirFromKtFiles( session: FirSession, ktFiles: List, diagnosticsReporter: BaseDiagnosticsCollector -): ModuleCompilerAnalyzedOutput { +): SingleModuleFrontendOutput { return resolveAndCheckFir(session, session.buildFirFromKtFiles(ktFiles), diagnosticsReporter) } @@ -74,13 +74,13 @@ fun resolveAndCheckFir( session: FirSession, firFiles: List, diagnosticsReporter: BaseDiagnosticsCollector -): ModuleCompilerAnalyzedOutput { +): SingleModuleFrontendOutput { val (scopeSession, fir) = session.runResolution(firFiles) // Skip checkers in header mode. if (!session.languageVersionSettings.getFlag(AnalysisFlags.headerMode)) { session.runCheckers(scopeSession, fir, diagnosticsReporter, MppCheckerKind.Common) } - return ModuleCompilerAnalyzedOutput(session, scopeSession, fir) + return SingleModuleFrontendOutput(session, scopeSession, fir) } fun buildResolveAndCheckFirViaLightTree( @@ -88,7 +88,7 @@ fun buildResolveAndCheckFirViaLightTree( ktFiles: Collection, diagnosticsReporter: BaseDiagnosticsCollector, countFilesAndLines: KFunction2? -): ModuleCompilerAnalyzedOutput { +): SingleModuleFrontendOutput { val firFiles = session.buildFirViaLightTree(ktFiles, diagnosticsReporter, countFilesAndLines) return resolveAndCheckFir(session, firFiles, diagnosticsReporter) } diff --git a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/referenceAllCommonDependencies.kt b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/referenceAllCommonDependencies.kt index 019660c41a608..1ba4ff947e6f3 100644 --- a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/referenceAllCommonDependencies.kt +++ b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/referenceAllCommonDependencies.kt @@ -19,7 +19,7 @@ import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.fir.visitors.FirDefaultVisitorVoid -fun referenceAllCommonDependencies(outputs: List) { +fun referenceAllCommonDependencies(outputs: List) { val platformSession = outputs.last().session if (!platformSession.languageVersionSettings.getFlag(AnalysisFlags.hierarchicalMultiplatformCompilation)) return val visitor = Visitor(platformSession) diff --git a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalFirJvmCompilerRunner.kt b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalFirJvmCompilerRunner.kt index ca27117dd31f0..38fac3992f449 100644 --- a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalFirJvmCompilerRunner.kt +++ b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalFirJvmCompilerRunner.kt @@ -38,7 +38,7 @@ import org.jetbrains.kotlin.cli.jvm.plugins.PluginCliParser import org.jetbrains.kotlin.config.* import org.jetbrains.kotlin.diagnostics.DiagnosticReporterFactory import org.jetbrains.kotlin.fir.backend.jvm.JvmFir2IrExtensions -import org.jetbrains.kotlin.fir.pipeline.FirResult +import org.jetbrains.kotlin.fir.pipeline.AllModulesFrontendOutput import org.jetbrains.kotlin.fir.session.environment.AbstractProjectFileSearchScope import org.jetbrains.kotlin.incremental.components.ExpectActualTracker import org.jetbrains.kotlin.incremental.components.ICFileMappingTracker @@ -207,7 +207,7 @@ open class IncrementalFirJvmCompilerRunner( var incrementalExcludesScope: AbstractProjectFileSearchScope? = null - fun firIncrementalCycle(): FirResult? { + fun firIncrementalCycle(): AllModulesFrontendOutput? { while (true) { val dirtySourcesByModuleName = sourcesByModuleName.mapValues { (_, sources) -> sources.filterTo(mutableSetOf()) { dirtySources.any { df -> df.path == it.path } } diff --git a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/incrementalFirCacheUtils.kt b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/incrementalFirCacheUtils.kt index 005a9ebb24a30..92fc7728461ff 100644 --- a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/incrementalFirCacheUtils.kt +++ b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/incrementalFirCacheUtils.kt @@ -16,8 +16,8 @@ import org.jetbrains.kotlin.fir.backend.FirMetadataSource import org.jetbrains.kotlin.fir.backend.jvm.makeLocalFirMetadataSerializerForMetadataSource import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.utils.classId -import org.jetbrains.kotlin.fir.pipeline.FirResult -import org.jetbrains.kotlin.fir.pipeline.ModuleCompilerAnalyzedOutput +import org.jetbrains.kotlin.fir.pipeline.AllModulesFrontendOutput +import org.jetbrains.kotlin.fir.pipeline.SingleModuleFrontendOutput import org.jetbrains.kotlin.fir.scopes.jvm.computeJvmDescriptor import org.jetbrains.kotlin.fir.visitors.FirVisitor import org.jetbrains.kotlin.metadata.ProtoBuf @@ -27,7 +27,7 @@ import org.jetbrains.org.objectweb.asm.commons.Method import java.io.File internal fun collectNewDirtySources( - analysisResults: FirResult, + frontendOutput: AllModulesFrontendOutput, targetId: TargetId, configuration: CompilerConfiguration, caches: IncrementalJvmCachesManager, @@ -37,7 +37,7 @@ internal fun collectNewDirtySources( val changesCollector = ChangesCollector() val globalSerializationBindings = JvmSerializationBindings() - fun visitFirFiles(analyzedOutput: ModuleCompilerAnalyzedOutput) { + fun visitFirFiles(analyzedOutput: SingleModuleFrontendOutput) { for (file in analyzedOutput.fir) { file.accept(object : FirVisitor>() { inline fun withMetadataSerializer( @@ -129,7 +129,7 @@ internal fun collectNewDirtySources( } } - for (output in analysisResults.outputs) { + for (output in frontendOutput.outputs) { visitFirFiles(output) } diff --git a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/backend/handlers/InterpreterDumpHandler.kt b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/backend/handlers/InterpreterDumpHandler.kt index a198406af1326..b990002456bdf 100644 --- a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/backend/handlers/InterpreterDumpHandler.kt +++ b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/backend/handlers/InterpreterDumpHandler.kt @@ -9,7 +9,6 @@ import com.intellij.openapi.util.text.StringUtil import org.jetbrains.kotlin.KtSourceElement import org.jetbrains.kotlin.codeMetaInfo.model.ParsedCodeMetaInfo import org.jetbrains.kotlin.config.CommonConfigurationKeys -import org.jetbrains.kotlin.config.LanguageFeature import org.jetbrains.kotlin.constant.AnnotationValue import org.jetbrains.kotlin.constant.ErrorValue import org.jetbrains.kotlin.constant.EvaluatedConstTracker @@ -22,7 +21,6 @@ import org.jetbrains.kotlin.fir.declarations.utils.evaluatedInitializer import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirLiteralExpression -import org.jetbrains.kotlin.fir.languageVersionSettings import org.jetbrains.kotlin.fir.expressions.FirExpressionEvaluator import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef import org.jetbrains.kotlin.fir.unwrapOr @@ -165,7 +163,7 @@ class FirInterpreterDumpHandler(testServices: TestServices) : FirAnalysisHandler override fun processModule(module: TestModule, info: FirOutputArtifact) { val results = buildMap { info.partsForDependsOnModules.forEach { - it.firFiles.forEach { (testFile, firFile) -> + it.firFilesByTestFile.forEach { (testFile, firFile) -> putAll(processFile(testFile, firFile, it.session)) } } diff --git a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/AbstractFir2IrResultsConverter.kt b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/AbstractFir2IrResultsConverter.kt index 4ee0eb411019e..d34664f105354 100644 --- a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/AbstractFir2IrResultsConverter.kt +++ b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/AbstractFir2IrResultsConverter.kt @@ -177,9 +177,9 @@ fun TestModule.irGenerationExtensions(testServices: TestServices): Collection( val output = phase.executePhase(input) ?: return processErrorFromCliPhase(configuration.messageCollector, testServices) - val firOutputs = output.result.outputs + val firOutputs = output.frontendOutput.outputs val testFirOutputs = getPartsForDependsOnModules(module, firOutputs) return FirCliBasedOutputArtifact(output, testFirOutputs) } open fun getPartsForDependsOnModules( module: TestModule, - firOutputs: List, + firOutputs: List, ): List { val modulesFromTheSameStructure = module.transitiveDependsOnDependencies(includeSelf = true, reverseOrder = true) .associateBy { "<${it.name}>"} @@ -69,7 +69,7 @@ class FirCliBasedOutputArtifact( partsForDependsOnModules: List, ) : FirOutputArtifact(partsForDependsOnModules) -fun ModuleCompilerAnalyzedOutput.toTestOutputPart( +fun SingleModuleFrontendOutput.toTestOutputPart( correspondingModule: TestModule, testServices: TestServices, ): FirOutputPartForDependsOnModule { @@ -86,7 +86,7 @@ fun ModuleCompilerAnalyzedOutput.toTestOutputPart( session = session, scopeSession = scopeSession, firAnalyzerFacade = null, - firFiles = testFilePerFirFile.toMap() + firFilesByTestFile = testFilePerFirFile.toMap() ) } diff --git a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/FirCliMetadataFrontendFacade.kt b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/FirCliMetadataFrontendFacade.kt index 05e10b59f084a..ab01c090761c8 100644 --- a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/FirCliMetadataFrontendFacade.kt +++ b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/FirCliMetadataFrontendFacade.kt @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.cli.pipeline.metadata.MetadataKlibInMemorySerializer import org.jetbrains.kotlin.config.LanguageFeature import org.jetbrains.kotlin.diagnostics.impl.BaseDiagnosticsCollector import org.jetbrains.kotlin.diagnostics.impl.SimpleDiagnosticsCollector -import org.jetbrains.kotlin.fir.pipeline.ModuleCompilerAnalyzedOutput +import org.jetbrains.kotlin.fir.pipeline.SingleModuleFrontendOutput import org.jetbrains.kotlin.test.directives.ConfigurationDirectives.METADATA_ONLY_COMPILATION import org.jetbrains.kotlin.test.model.* import org.jetbrains.kotlin.test.services.TestServices @@ -36,7 +36,7 @@ class FirCliMetadataFrontendFacade( override fun getPartsForDependsOnModules( module: TestModule, - firOutputs: List + firOutputs: List ): List { val analyzedModule = firOutputs.single() return listOf(analyzedModule.toTestOutputPart(module, testServices)) diff --git a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/FirOutputArtifact.kt b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/FirOutputArtifact.kt index 36f149713e886..0826ac4ca042f 100644 --- a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/FirOutputArtifact.kt +++ b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/FirOutputArtifact.kt @@ -20,16 +20,16 @@ data class FirOutputPartForDependsOnModule( val session: FirSession, val scopeSession: ScopeSession, val firAnalyzerFacade: AbstractFirAnalyzerFacade?, // used only in AA tests - val firFiles: Map + val firFilesByTestFile: Map ) abstract class FirOutputArtifact(val partsForDependsOnModules: List) : ResultingArtifact.FrontendOutput() { - val allFirFiles: Map = partsForDependsOnModules.fold(emptyMap()) { acc, part -> acc + part.firFiles } + val allFirFilesByTestFile: Map = partsForDependsOnModules.fold(emptyMap()) { acc, part -> acc + part.firFilesByTestFile } override val kind: FrontendKinds.FIR get() = FrontendKinds.FIR - val mainFirFiles: Map by lazy { allFirFiles.filterKeys { !it.isAdditional } } + val mainFirFilesByTestFile: Map by lazy { allFirFilesByTestFile.filterKeys { !it.isAdditional } } } class FirOutputArtifactImpl(parts: List) : FirOutputArtifact(parts) diff --git a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/TagsGeneratorChecker.kt b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/TagsGeneratorChecker.kt index 38e2a058d7f38..5bb8ddda612d6 100644 --- a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/TagsGeneratorChecker.kt +++ b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/TagsGeneratorChecker.kt @@ -73,7 +73,7 @@ class TagsGeneratorChecker(testServices: TestServices) : FirAnalysisHandler(test override fun processModule(module: TestModule, info: FirOutputArtifact) { if (FirDiagnosticsDirectives.DISABLE_GENERATED_FIR_TAGS in module.directives || shouldSkip) return - for (file in info.allFirFiles.values) { + for (file in info.allFirFilesByTestFile.values) { val session = file.moduleData.session val visitor = TagsCollectorVisitor(session) file.accept(visitor) diff --git a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirCfgConsistencyHandler.kt b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirCfgConsistencyHandler.kt index f3ccf3b5c39ad..499fc88afdff0 100644 --- a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirCfgConsistencyHandler.kt +++ b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirCfgConsistencyHandler.kt @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.test.services.TestServices class FirCfgConsistencyHandler(testServices: TestServices) : FirAnalysisHandler(testServices) { override fun processModule(module: TestModule, info: FirOutputArtifact) { - info.mainFirFiles.values.forEach { it.accept(FirCfgConsistencyChecker(assertions)) } + info.mainFirFilesByTestFile.values.forEach { it.accept(FirCfgConsistencyChecker(assertions)) } } override fun processAfterAllModules(someAssertionWasFailed: Boolean) {} diff --git a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirCfgDumpHandler.kt b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirCfgDumpHandler.kt index 7bd16524f465b..4526fa9a8ef4d 100644 --- a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirCfgDumpHandler.kt +++ b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirCfgDumpHandler.kt @@ -32,7 +32,7 @@ class FirCfgDumpHandler(testServices: TestServices) : FirAnalysisHandler(testSer if (alreadyDumped || DUMP_CFG !in module.directives) return val options = module.directives[DUMP_CFG].map { it.uppercase() } - val file = info.mainFirFiles.values.first() + val file = info.mainFirFilesByTestFile.values.first() val renderLevels = DumpCfgOption.LEVELS in options val renderFlow = DumpCfgOption.FLOW in options file.renderControlFlowGraphTo(builder, ControlFlowGraphRenderOptions(renderLevels, renderFlow)) diff --git a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirDiagnosticsHandler.kt b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirDiagnosticsHandler.kt index e20087d8d0de8..39e3e01d40445 100644 --- a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirDiagnosticsHandler.kt +++ b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirDiagnosticsHandler.kt @@ -161,7 +161,7 @@ class FirDiagnosticsHandler(testServices: TestServices) : FirAnalysisHandler(tes val forceRenderArguments = FirDiagnosticsDirectives.RENDER_DIAGNOSTICS_MESSAGES in currentModule.directives for (file in currentModule.files) { - val firFile = info.mainFirFiles[file] ?: continue + val firFile = info.mainFirFilesByTestFile[file] ?: continue var diagnostics = frontendDiagnosticsPerFile[firFile] if (AdditionalFilesDirectives.CHECK_TYPE in currentModule.directives) { diagnostics = diagnostics.filter { it.diagnostic.factory.name != FirErrors.UNDERSCORE_USAGE_WITHOUT_BACKTICKS.name } @@ -641,7 +641,7 @@ open class FirDiagnosticCollectorService(val testServices: TestServices) : TestS } private fun computeDiagnostics(info: FirOutputArtifact): ListMultimap { - val allFiles = info.partsForDependsOnModules.flatMap { it.firFiles.values } + val allFiles = info.partsForDependsOnModules.flatMap { it.firFilesByTestFile.values } val platformPart = info.partsForDependsOnModules.last() val lazyDeclarationResolver = platformPart.session.lazyDeclarationResolver val result = listMultimapOf() @@ -686,7 +686,7 @@ open class FirDiagnosticCollectorService(val testServices: TestServices) : TestS if (!part.session.languageVersionSettings.getFlag(AnalysisFlags.headerMode)) { result += part.session.runCheckers( part.scopeSession, - part.firFiles.values, + part.firFilesByTestFile.values, DiagnosticReporterFactory.createPendingReporter(messageCollector), mppCheckerKind = MppCheckerKind.Common ).convertToTestDiagnostics(KmpCompilationMode.PLATFORM) @@ -704,7 +704,7 @@ open class FirDiagnosticCollectorService(val testServices: TestServices) : TestS part.session.turnOnMetadataCompilationAnalysisFlag { result += part.session.runCheckers( part.scopeSession, - part.firFiles.values, + part.firFilesByTestFile.values, DiagnosticReporterFactory.createPendingReporter(messageCollector), mppCheckerKind = MppCheckerKind.Platform ).convertToTestDiagnostics(KmpCompilationMode.METADATA) @@ -746,7 +746,7 @@ open class FirDiagnosticCollectorService(val testServices: TestServices) : TestS part: FirOutputPartForDependsOnModule, destination: ListMultimap, ) { - for ((testFile, firFile) in part.firFiles) { + for ((testFile, firFile) in part.firFilesByTestFile) { val syntaxErrors = if (firFile.psi != null) { AnalyzingUtils.getSyntaxErrorRanges(firFile.psi!!).map { @OptIn(InternalDiagnosticFactoryMethod::class) diff --git a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirDumpHandler.kt b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirDumpHandler.kt index fb9577589dd79..fd986ad81f588 100644 --- a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirDumpHandler.kt +++ b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirDumpHandler.kt @@ -55,7 +55,7 @@ class FirDumpHandler( if (!isFirDumpEnabled) return val builderForModule = dumper.builderForModule(currentModule) - val firFiles = info.mainFirFiles + val firFiles = info.mainFirFilesByTestFile val allFiles = buildList { addAll(firFiles.values) diff --git a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirResolvedTypesVerifier.kt b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirResolvedTypesVerifier.kt index 2b65aa6372979..255d666197027 100644 --- a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirResolvedTypesVerifier.kt +++ b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirResolvedTypesVerifier.kt @@ -28,7 +28,7 @@ class FirResolvedTypesVerifier(testServices: TestServices) : FirAnalysisHandler( override fun processModule(module: TestModule, info: FirOutputArtifact) { val visitor = Visitor() - for (firFile in info.mainFirFiles.values) { + for (firFile in info.mainFirFilesByTestFile.values) { firFile.acceptChildren(visitor, firFile) } val ignored = IGNORE_LEAKED_INTERNAL_TYPES in module.directives diff --git a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirVFirDumpHandler.kt b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirVFirDumpHandler.kt index c7d4dad6fd926..b2badaa5eb14a 100644 --- a/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirVFirDumpHandler.kt +++ b/compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirVFirDumpHandler.kt @@ -28,7 +28,7 @@ class FirVFirDumpHandler( val currentModule = part.module if (FirDiagnosticsDirectives.DUMP_VFIR !in currentModule.directives) return val builderForModule = dumper.builderForModule(currentModule) - val firFiles = info.mainFirFiles + val firFiles = info.mainFirFilesByTestFile val allFiles = buildList { addAll(firFiles.values) diff --git a/compiler/tests-compiler-utils/testFixtures/org/jetbrains/kotlin/codegen/GenerationUtils.kt b/compiler/tests-compiler-utils/testFixtures/org/jetbrains/kotlin/codegen/GenerationUtils.kt index fee08fa325511..d14e01678e469 100644 --- a/compiler/tests-compiler-utils/testFixtures/org/jetbrains/kotlin/codegen/GenerationUtils.kt +++ b/compiler/tests-compiler-utils/testFixtures/org/jetbrains/kotlin/codegen/GenerationUtils.kt @@ -109,7 +109,7 @@ object GenerationUtils { val diagnosticReporter = DiagnosticReporterFactory.createReporter(messageCollector) firAnalyzerFacade.runResolution() val irGenerationExtensions = IrGenerationExtension.Companion.getInstances(project) - val (moduleFragment, components, pluginContext, _, _, symbolTable) = firAnalyzerFacade.result.convertToIrAndActualizeForJvm( + val (moduleFragment, components, pluginContext, _, _, symbolTable) = firAnalyzerFacade.frontendOutput.convertToIrAndActualizeForJvm( fir2IrExtensions, configuration, diagnosticReporter, diff --git a/compiler/tests-compiler-utils/testFixtures/org/jetbrains/kotlin/fir/FirAnalyzerFacade.kt b/compiler/tests-compiler-utils/testFixtures/org/jetbrains/kotlin/fir/FirAnalyzerFacade.kt index 6bf4a5baebdea..f27f191cb09db 100644 --- a/compiler/tests-compiler-utils/testFixtures/org/jetbrains/kotlin/fir/FirAnalyzerFacade.kt +++ b/compiler/tests-compiler-utils/testFixtures/org/jetbrains/kotlin/fir/FirAnalyzerFacade.kt @@ -15,7 +15,7 @@ import org.jetbrains.kotlin.test.FirParser abstract class AbstractFirAnalyzerFacade { abstract val scopeSession: ScopeSession - abstract val result: FirResult + abstract val frontendOutput: AllModulesFrontendOutput abstract fun runResolution(): List } @@ -32,8 +32,8 @@ class FirAnalyzerFacade( override val scopeSession: ScopeSession get() = _scopeSession!! - override val result: FirResult - get() = FirResult(listOf(ModuleCompilerAnalyzedOutput(session, scopeSession, firFiles!!))) + override val frontendOutput: AllModulesFrontendOutput + get() = AllModulesFrontendOutput(listOf(SingleModuleFrontendOutput(session, scopeSession, firFiles!!))) private fun buildRawFir() { if (firFiles != null) return diff --git a/native/commonizer/tests/org/jetbrains/kotlin/commonizer/AbstractCommonizationFromSourcesTest.kt b/native/commonizer/tests/org/jetbrains/kotlin/commonizer/AbstractCommonizationFromSourcesTest.kt index f8d852257ecc3..51bc8178020e6 100644 --- a/native/commonizer/tests/org/jetbrains/kotlin/commonizer/AbstractCommonizationFromSourcesTest.kt +++ b/native/commonizer/tests/org/jetbrains/kotlin/commonizer/AbstractCommonizationFromSourcesTest.kt @@ -338,7 +338,7 @@ object TestPatchingPipelinePhase : PipelinePhase, val reporter: BaseDiagnosticsCollector, ) : AnalysisResult { @@ -173,7 +173,7 @@ class K2CompilerFacade(environment: KotlinCoreEnvironment) : KotlinCompilerFacad buildResolveAndCheckFirFromKtFiles(platformSession, platformKtFiles, reporter) return FirAnalysisResult( - FirResult(listOf(commonAnalysis, platformAnalysis)), + AllModulesFrontendOutput(listOf(commonAnalysis, platformAnalysis)), commonKtFiles + platformKtFiles, reporter ) @@ -195,7 +195,7 @@ class K2CompilerFacade(environment: KotlinCoreEnvironment) : KotlinCompilerFacad JvmIrDeserializerImpl(), ) - val fir2IrResult = analysisResult.firResult.convertToIrAndActualizeForJvm( + val fir2IrResult = analysisResult.frontendOutput.convertToIrAndActualizeForJvm( fir2IrExtensions, configuration, analysisResult.reporter, diff --git a/plugins/kapt/kapt-compiler/src/org/jetbrains/kotlin/kapt/FirKaptAnalysisHandlerExtension.kt b/plugins/kapt/kapt-compiler/src/org/jetbrains/kotlin/kapt/FirKaptAnalysisHandlerExtension.kt index 62f686c13c201..0e917ea946c4f 100644 --- a/plugins/kapt/kapt-compiler/src/org/jetbrains/kotlin/kapt/FirKaptAnalysisHandlerExtension.kt +++ b/plugins/kapt/kapt-compiler/src/org/jetbrains/kotlin/kapt/FirKaptAnalysisHandlerExtension.kt @@ -204,7 +204,7 @@ open class FirKaptAnalysisHandlerExtension( return KaptContextForStubGeneration( options, false, logger, builderFactory.compiledClasses, builderFactory.origins, generationState, - BindingContext.EMPTY, frontendOutput.result.outputs.flatMap { it.fir }, + BindingContext.EMPTY, frontendOutput.frontendOutput.outputs.flatMap { it.fir }, ) } diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/K2ReplCompiler.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/K2ReplCompiler.kt index 5f160fb9d0c1d..d808b7927a188 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/K2ReplCompiler.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/K2ReplCompiler.kt @@ -326,14 +326,14 @@ private fun compileImpl( session.runCheckers(scopeSession, fir, diagnosticsReporter, MppCheckerKind.Common) session.runCheckers(scopeSession, fir, diagnosticsReporter, MppCheckerKind.Platform) - val analysisResults = FirResult(listOf(ModuleCompilerAnalyzedOutput(session, scopeSession, fir))) + val frontendOutput = AllModulesFrontendOutput(listOf(SingleModuleFrontendOutput(session, scopeSession, fir))) if (diagnosticsReporter.hasErrors) { diagnosticsReporter.reportToMessageCollector(messageCollector, renderDiagnosticName) return failure(messageCollector) } - val irInput = convertAnalyzedFirToIr(compilerConfiguration, targetId, analysisResults, compilerEnvironment) + val irInput = convertAnalyzedFirToIr(compilerConfiguration, targetId, frontendOutput, compilerEnvironment) val generationState = generateCodeFromIr(irInput, compilerEnvironment) diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/ScriptJvmCompilerImpls.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/ScriptJvmCompilerImpls.kt index d1af86d119258..2fb188f84c386 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/ScriptJvmCompilerImpls.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/ScriptJvmCompilerImpls.kt @@ -409,7 +409,7 @@ private fun doCompileWithK2( session.runCheckers(scopeSession, fir, diagnosticsReporter, MppCheckerKind.Common) session.runCheckers(scopeSession, fir, diagnosticsReporter, MppCheckerKind.Platform) - val analysisResults = FirResult(listOf(ModuleCompilerAnalyzedOutput(session, scopeSession, fir))) + val analysisResults = AllModulesFrontendOutput(listOf(SingleModuleFrontendOutput(session, scopeSession, fir))) if (diagnosticsReporter.hasErrors) { diagnosticsReporter.reportToMessageCollector(messageCollector, renderDiagnosticName)