[FIR2IR] Remove passing excess arguments to jvm backend functions and classes

generateModuleInFrontendIRMode, runBackend

FirJvmBackendExtension, ModuleCompilerIrBackendInput
This commit is contained in:
Ivan Kochurkin
2023-01-27 16:34:06 +01:00
committed by Space Team
parent e601b01be2
commit 0f9107c153
7 changed files with 7 additions and 20 deletions
@@ -171,7 +171,6 @@ object FirKotlinToJvmBytecodeCompiler {
allSources, allSources,
fir2IrResult, fir2IrResult,
fir2IrExtensions, fir2IrExtensions,
firResult.platformOutput.session,
diagnosticsReporter diagnosticsReporter
) )
@@ -310,7 +309,6 @@ object FirKotlinToJvmBytecodeCompiler {
ktFiles: List<KtFile>, ktFiles: List<KtFile>,
fir2IrResult: Fir2IrResult, fir2IrResult: Fir2IrResult,
extensions: JvmGeneratorExtensions, extensions: JvmGeneratorExtensions,
session: FirSession,
diagnosticsReporter: BaseDiagnosticsCollector diagnosticsReporter: BaseDiagnosticsCollector
): GenerationState { ): GenerationState {
val (moduleFragment, components) = fir2IrResult val (moduleFragment, components) = fir2IrResult
@@ -342,7 +340,7 @@ object FirKotlinToJvmBytecodeCompiler {
generationState.oldBEInitTrace(ktFiles) generationState.oldBEInitTrace(ktFiles)
codegenFactory.generateModuleInFrontendIRMode( codegenFactory.generateModuleInFrontendIRMode(
generationState, moduleFragment, components.symbolTable, components.irProviders, generationState, moduleFragment, components.symbolTable, components.irProviders,
extensions, FirJvmBackendExtension(session, components), fir2IrResult.pluginContext extensions, FirJvmBackendExtension(components), fir2IrResult.pluginContext
) { ) {
performanceManager?.notifyIRLoweringFinished() performanceManager?.notifyIRLoweringFinished()
performanceManager?.notifyIRGenerationStarted() performanceManager?.notifyIRGenerationStarted()
@@ -228,9 +228,7 @@ fun convertAnalyzedFirToIr(
input.configuration, input.configuration,
extensions, extensions,
irModuleFragment, irModuleFragment,
components.symbolTable,
components, components,
analysisResults.platformOutput.session,
pluginContext pluginContext
) )
} }
@@ -272,10 +270,10 @@ fun generateCodeFromIr(
codegenFactory.generateModuleInFrontendIRMode( codegenFactory.generateModuleInFrontendIRMode(
generationState, generationState,
input.irModuleFragment, input.irModuleFragment,
input.symbolTable, input.components.symbolTable,
input.components.irProviders, input.components.irProviders,
input.extensions, input.extensions,
FirJvmBackendExtension(input.firSession, input.components), FirJvmBackendExtension(input.components),
input.pluginContext input.pluginContext
) { ) {
performanceManager?.notifyIRLoweringFinished() performanceManager?.notifyIRLoweringFinished()
@@ -10,15 +10,11 @@ import org.jetbrains.kotlin.codegen.state.GenerationState
import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.diagnostics.impl.BaseDiagnosticsCollector import org.jetbrains.kotlin.diagnostics.impl.BaseDiagnosticsCollector
import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.backend.Fir2IrComponents import org.jetbrains.kotlin.fir.backend.Fir2IrComponents
import org.jetbrains.kotlin.fir.backend.Fir2IrPluginContext import org.jetbrains.kotlin.fir.backend.Fir2IrPluginContext
import org.jetbrains.kotlin.fir.backend.jvm.JvmFir2IrExtensions import org.jetbrains.kotlin.fir.backend.jvm.JvmFir2IrExtensions
import org.jetbrains.kotlin.fir.declarations.FirFile
import org.jetbrains.kotlin.fir.resolve.ScopeSession
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectEnvironment import org.jetbrains.kotlin.fir.session.environment.AbstractProjectEnvironment
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
import org.jetbrains.kotlin.ir.util.SymbolTable
import org.jetbrains.kotlin.modules.TargetId import org.jetbrains.kotlin.modules.TargetId
import org.jetbrains.kotlin.platform.TargetPlatform import org.jetbrains.kotlin.platform.TargetPlatform
@@ -48,8 +44,6 @@ data class ModuleCompilerIrBackendInput(
val configuration: CompilerConfiguration, val configuration: CompilerConfiguration,
val extensions: JvmFir2IrExtensions, val extensions: JvmFir2IrExtensions,
val irModuleFragment: IrModuleFragment, val irModuleFragment: IrModuleFragment,
val symbolTable: SymbolTable,
val components: Fir2IrComponents, val components: Fir2IrComponents,
val firSession: FirSession,
val pluginContext: Fir2IrPluginContext val pluginContext: Fir2IrPluginContext
) )
@@ -10,13 +10,12 @@ import org.jetbrains.kotlin.backend.jvm.JvmBackendExtension
import org.jetbrains.kotlin.backend.jvm.metadata.MetadataSerializer import org.jetbrains.kotlin.backend.jvm.metadata.MetadataSerializer
import org.jetbrains.kotlin.codegen.serialization.JvmSerializationBindings import org.jetbrains.kotlin.codegen.serialization.JvmSerializationBindings
import org.jetbrains.kotlin.config.JvmAbiStability import org.jetbrains.kotlin.config.JvmAbiStability
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.backend.Fir2IrComponents import org.jetbrains.kotlin.fir.backend.Fir2IrComponents
import org.jetbrains.kotlin.ir.declarations.IrClass import org.jetbrains.kotlin.ir.declarations.IrClass
import org.jetbrains.kotlin.load.java.JvmAnnotationNames import org.jetbrains.kotlin.load.java.JvmAnnotationNames
import org.jetbrains.org.objectweb.asm.Type import org.jetbrains.org.objectweb.asm.Type
class FirJvmBackendExtension(private val session: FirSession, private val components: Fir2IrComponents) : JvmBackendExtension { class FirJvmBackendExtension(private val components: Fir2IrComponents) : JvmBackendExtension {
override fun createSerializer( override fun createSerializer(
context: JvmBackendContext, context: JvmBackendContext,
klass: IrClass, klass: IrClass,
@@ -24,7 +23,7 @@ class FirJvmBackendExtension(private val session: FirSession, private val compon
bindings: JvmSerializationBindings, bindings: JvmSerializationBindings,
parentSerializer: MetadataSerializer? parentSerializer: MetadataSerializer?
): MetadataSerializer { ): MetadataSerializer {
return makeFirMetadataSerializerForIrClass(session, context, klass, bindings, components, parentSerializer) return makeFirMetadataSerializerForIrClass(components.session, context, klass, bindings, components, parentSerializer)
} }
override fun generateMetadataExtraFlags(abiStability: JvmAbiStability?): Int = override fun generateMetadataExtraFlags(abiStability: JvmAbiStability?): Int =
@@ -284,9 +284,7 @@ class IncrementalFirJvmCompilerRunner(
configuration, configuration,
extensions, extensions,
platformIrOutput.irModuleFragment, platformIrOutput.irModuleFragment,
platformIrOutput.components.symbolTable,
platformIrOutput.components, platformIrOutput.components,
cycleResult.platformOutput.session,
platformIrOutput.pluginContext platformIrOutput.pluginContext
) )
@@ -103,7 +103,7 @@ class Fir2IrResultsConverter(
phaseConfig, phaseConfig,
components.irProviders, components.irProviders,
fir2IrExtensions, fir2IrExtensions,
FirJvmBackendExtension(firOutputPart.session, components), FirJvmBackendExtension(components),
pluginContext, pluginContext,
notifyCodegenStart = {}, notifyCodegenStart = {},
) )
@@ -160,7 +160,7 @@ object GenerationUtils {
generationState.oldBEInitTrace(files) generationState.oldBEInitTrace(files)
codegenFactory.generateModuleInFrontendIRMode( codegenFactory.generateModuleInFrontendIRMode(
generationState, moduleFragment, components.symbolTable, components.irProviders, generationState, moduleFragment, components.symbolTable, components.irProviders,
fir2IrExtensions, FirJvmBackendExtension(session, components), pluginContext, fir2IrExtensions, FirJvmBackendExtension(components), pluginContext,
) {} ) {}
generationState.factory.done() generationState.factory.done()