Fir2Ir: pass Fir2IrExtensions to backend
This commit is contained in:
committed by
Alexander Udalov
parent
3c3c1be543
commit
13d4d60afa
+5
-10
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.cli.jvm.compiler
|
||||
import org.jetbrains.kotlin.analyzer.common.CommonPlatformAnalyzerServices
|
||||
import org.jetbrains.kotlin.asJava.FilteredJvmDiagnostics
|
||||
import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmGeneratorExtensionsImpl
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmGeneratorExtensions
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory
|
||||
import org.jetbrains.kotlin.cli.common.CLICompiler
|
||||
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
|
||||
@@ -161,19 +161,15 @@ object FirKotlinToJvmBytecodeCompiler {
|
||||
performanceManager?.notifyGenerationStarted()
|
||||
performanceManager?.notifyIRTranslationStarted()
|
||||
|
||||
val fir2IrResult = firResult.session.convertToIr(
|
||||
firResult.scopeSession, firResult.fir,
|
||||
JvmFir2IrExtensions(moduleConfiguration),
|
||||
irGenerationExtensions
|
||||
)
|
||||
val fir2IrExtensions = JvmFir2IrExtensions(moduleConfiguration)
|
||||
val fir2IrResult = firResult.session.convertToIr(firResult.scopeSession, firResult.fir, fir2IrExtensions, irGenerationExtensions)
|
||||
|
||||
performanceManager?.notifyIRTranslationFinished()
|
||||
|
||||
val extensions = JvmGeneratorExtensionsImpl(moduleConfiguration)
|
||||
val generationState = runBackend(
|
||||
allSources,
|
||||
fir2IrResult,
|
||||
extensions,
|
||||
fir2IrExtensions,
|
||||
firResult.session,
|
||||
diagnosticsReporter
|
||||
)
|
||||
@@ -316,7 +312,7 @@ object FirKotlinToJvmBytecodeCompiler {
|
||||
private fun CompilationContext.runBackend(
|
||||
ktFiles: List<KtFile>,
|
||||
fir2IrResult: Fir2IrResult,
|
||||
extensions: JvmGeneratorExtensionsImpl,
|
||||
extensions: JvmGeneratorExtensions,
|
||||
session: FirSession,
|
||||
diagnosticsReporter: BaseDiagnosticsCollector
|
||||
): GenerationState {
|
||||
@@ -325,7 +321,6 @@ object FirKotlinToJvmBytecodeCompiler {
|
||||
val codegenFactory = JvmIrCodegenFactory(
|
||||
moduleConfiguration,
|
||||
moduleConfiguration.get(CLIConfigurationKeys.PHASE_CONFIG),
|
||||
jvmGeneratorExtensions = extensions
|
||||
)
|
||||
|
||||
val generationState = GenerationState.Builder(
|
||||
|
||||
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.KtSourceFile
|
||||
import org.jetbrains.kotlin.KtVirtualFileSourceFile
|
||||
import org.jetbrains.kotlin.analyzer.common.CommonPlatformAnalyzerServices
|
||||
import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmGeneratorExtensionsImpl
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory
|
||||
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
|
||||
import org.jetbrains.kotlin.cli.common.CommonCompilerPerformanceManager
|
||||
@@ -48,6 +47,7 @@ import org.jetbrains.kotlin.fir.DependencyListForCliModule
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmBackendClassResolver
|
||||
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmBackendExtension
|
||||
import org.jetbrains.kotlin.fir.backend.jvm.JvmFir2IrExtensions
|
||||
import org.jetbrains.kotlin.fir.checkers.registerExtendedCommonCheckers
|
||||
import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar
|
||||
import org.jetbrains.kotlin.fir.java.FirProjectSessionProvider
|
||||
@@ -185,7 +185,7 @@ fun convertAnalyzedFirToIr(
|
||||
analysisResults: ModuleCompilerAnalyzedOutput,
|
||||
environment: ModuleCompilerEnvironment
|
||||
): ModuleCompilerIrBackendInput {
|
||||
val extensions = JvmGeneratorExtensionsImpl(input.configuration)
|
||||
val extensions = JvmFir2IrExtensions(input.configuration)
|
||||
|
||||
// fir2ir
|
||||
val irGenerationExtensions =
|
||||
@@ -215,7 +215,6 @@ fun generateCodeFromIr(
|
||||
val codegenFactory = JvmIrCodegenFactory(
|
||||
input.configuration,
|
||||
input.configuration.get(CLIConfigurationKeys.PHASE_CONFIG),
|
||||
jvmGeneratorExtensions = input.extensions
|
||||
)
|
||||
val dummyBindingContext = NoScopeRecordCliBindingTrace().bindingContext
|
||||
|
||||
|
||||
+2
-4
@@ -6,22 +6,20 @@
|
||||
package org.jetbrains.kotlin.cli.jvm.compiler.pipeline
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceFile
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmGeneratorExtensionsImpl
|
||||
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.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.backend.Fir2IrComponents
|
||||
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.ir.declarations.IrModuleFragment
|
||||
import org.jetbrains.kotlin.ir.util.SymbolTable
|
||||
import org.jetbrains.kotlin.modules.TargetId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||
import java.io.File
|
||||
|
||||
// ---
|
||||
|
||||
@@ -55,7 +53,7 @@ data class ModuleCompilerAnalyzedOutput(
|
||||
data class ModuleCompilerIrBackendInput(
|
||||
val targetId: TargetId,
|
||||
val configuration: CompilerConfiguration,
|
||||
val extensions: JvmGeneratorExtensionsImpl,
|
||||
val extensions: JvmFir2IrExtensions,
|
||||
val irModuleFragment: IrModuleFragment,
|
||||
val symbolTable: SymbolTable,
|
||||
val components: Fir2IrComponents,
|
||||
|
||||
Reference in New Issue
Block a user