[Test] Get rid of some properties in IrBackendInput
`fir2IrComponents`, `irActualizerResult` and `dependentIrModuleFragments` were used in `IrActualizerAndPluginsFacade`, which was removed in the previous commit
This commit is contained in:
committed by
Space Team
parent
1303a33bea
commit
075010b14e
+1
-2
@@ -15,7 +15,6 @@ import org.jetbrains.kotlin.diagnostics.impl.BaseDiagnosticsCollector
|
||||
import org.jetbrains.kotlin.diagnostics.rendering.DefaultErrorMessages
|
||||
import org.jetbrains.kotlin.diagnostics.rendering.RootDiagnosticRendererFactory
|
||||
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
||||
import org.jetbrains.kotlin.resolve.jvm.diagnostics.KtDefaultJvmErrorMessages
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
||||
import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives
|
||||
@@ -29,11 +28,11 @@ import org.jetbrains.kotlin.test.services.*
|
||||
import org.jetbrains.kotlin.util.capitalizeDecapitalize.toLowerCaseAsciiOnly
|
||||
import java.io.File
|
||||
|
||||
// TODO: inline this function
|
||||
inline fun IrBackendInput.processAllIrModuleFragments(
|
||||
module: TestModule,
|
||||
processor: (irModuleFragment: IrModuleFragment, moduleName: String) -> Unit
|
||||
) {
|
||||
dependentIrModuleFragments.forEach { processor(it, it.name.asString()) }
|
||||
processor(irModuleFragment, module.name)
|
||||
}
|
||||
|
||||
|
||||
-35
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory
|
||||
import org.jetbrains.kotlin.codegen.state.GenerationState
|
||||
import org.jetbrains.kotlin.diagnostics.impl.BaseDiagnosticsCollector
|
||||
import org.jetbrains.kotlin.fir.backend.Fir2IrComponents
|
||||
import org.jetbrains.kotlin.fir.backend.FirMangler
|
||||
import org.jetbrains.kotlin.ir.backend.js.KotlinFileSerializedData
|
||||
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
||||
@@ -28,11 +27,6 @@ sealed class IrBackendInput : ResultingArtifact.BackendInput<IrBackendInput>() {
|
||||
|
||||
abstract val irModuleFragment: IrModuleFragment
|
||||
|
||||
/**
|
||||
* It's actual only with MPP where every source module is separated
|
||||
*/
|
||||
abstract val dependentIrModuleFragments: List<IrModuleFragment>
|
||||
|
||||
/**
|
||||
* Here plugin context can be used as a service for inspecting resulting IR module
|
||||
*/
|
||||
@@ -67,24 +61,10 @@ sealed class IrBackendInput : ResultingArtifact.BackendInput<IrBackendInput>() {
|
||||
*/
|
||||
abstract val firMangler: FirMangler?
|
||||
|
||||
/**
|
||||
* Instance of fir2IrComponents that generated by Fir2Ir or null if this artifact was compiled using the classic frontend.
|
||||
*/
|
||||
abstract val fir2IrComponents: Fir2IrComponents?
|
||||
|
||||
/**
|
||||
* Results of actualization, came from IrActulizer
|
||||
*
|
||||
* @see org.jetbrains.kotlin.backend.common.actualizer
|
||||
* @see org.jetbrains.kotlin.test.backend.ir.IrActualizerAndPluginsFacade
|
||||
*/
|
||||
abstract var irActualizerResult: IrActualizedResult?
|
||||
|
||||
abstract val diagnosticReporter: BaseDiagnosticsCollector
|
||||
|
||||
class JsIrBackendInput(
|
||||
override val irModuleFragment: IrModuleFragment,
|
||||
override val dependentIrModuleFragments: List<IrModuleFragment>,
|
||||
override val irPluginContext: IrPluginContext,
|
||||
val sourceFiles: List<KtSourceFile>,
|
||||
val icData: List<KotlinFileSerializedData>,
|
||||
@@ -93,31 +73,24 @@ sealed class IrBackendInput : ResultingArtifact.BackendInput<IrBackendInput>() {
|
||||
override val descriptorMangler: KotlinMangler.DescriptorMangler,
|
||||
override val irMangler: KotlinMangler.IrMangler,
|
||||
override val firMangler: FirMangler?,
|
||||
override val fir2IrComponents: Fir2IrComponents?,
|
||||
override var irActualizerResult: IrActualizedResult? = null,
|
||||
val serializeSingleFile: (KtSourceFile, IrActualizedResult?) -> ProtoBuf.PackageFragment,
|
||||
) : IrBackendInput()
|
||||
|
||||
data class JsIrDeserializedFromKlibBackendInput(
|
||||
override val irModuleFragment: IrModuleFragment,
|
||||
override val dependentIrModuleFragments: List<IrModuleFragment>,
|
||||
override val irPluginContext: IrPluginContext,
|
||||
override val diagnosticReporter: BaseDiagnosticsCollector,
|
||||
override val descriptorMangler: KotlinMangler.DescriptorMangler,
|
||||
override val irMangler: KotlinMangler.IrMangler,
|
||||
override val firMangler: FirMangler?,
|
||||
override val fir2IrComponents: Fir2IrComponents?
|
||||
) : IrBackendInput() {
|
||||
|
||||
override val kind: BackendKind<IrBackendInput>
|
||||
get() = BackendKinds.DeserializedIrBackend
|
||||
|
||||
override var irActualizerResult: IrActualizedResult? = null
|
||||
}
|
||||
|
||||
class WasmBackendInput(
|
||||
override val irModuleFragment: IrModuleFragment,
|
||||
override val dependentIrModuleFragments: List<IrModuleFragment>,
|
||||
override val irPluginContext: IrPluginContext,
|
||||
val sourceFiles: List<KtSourceFile>,
|
||||
val icData: List<KotlinFileSerializedData>,
|
||||
@@ -126,8 +99,6 @@ sealed class IrBackendInput : ResultingArtifact.BackendInput<IrBackendInput>() {
|
||||
override val descriptorMangler: KotlinMangler.DescriptorMangler,
|
||||
override val irMangler: KotlinMangler.IrMangler,
|
||||
override val firMangler: FirMangler?,
|
||||
override var irActualizerResult: IrActualizedResult? = null,
|
||||
override val fir2IrComponents: Fir2IrComponents?,
|
||||
val serializeSingleFile: (KtSourceFile, IrActualizedResult?) -> ProtoBuf.PackageFragment,
|
||||
) : IrBackendInput()
|
||||
|
||||
@@ -135,13 +106,10 @@ sealed class IrBackendInput : ResultingArtifact.BackendInput<IrBackendInput>() {
|
||||
val state: GenerationState,
|
||||
val codegenFactory: JvmIrCodegenFactory,
|
||||
val backendInput: JvmIrCodegenFactory.JvmIrBackendInput,
|
||||
override val dependentIrModuleFragments: List<IrModuleFragment>,
|
||||
val sourceFiles: List<KtSourceFile>,
|
||||
override val descriptorMangler: KotlinMangler.DescriptorMangler,
|
||||
override val irMangler: KotlinMangler.IrMangler,
|
||||
override val firMangler: FirMangler?,
|
||||
override var irActualizerResult: IrActualizedResult? = null,
|
||||
override val fir2IrComponents: Fir2IrComponents?,
|
||||
) : IrBackendInput() {
|
||||
override val irModuleFragment: IrModuleFragment
|
||||
get() = backendInput.irModuleFragment
|
||||
@@ -158,13 +126,10 @@ sealed class IrBackendInput : ResultingArtifact.BackendInput<IrBackendInput>() {
|
||||
// So, other fields are actually not needed: source files, icData, error flag, serialization lambda, etc...
|
||||
class NativeBackendInput(
|
||||
override val irModuleFragment: IrModuleFragment,
|
||||
override val dependentIrModuleFragments: List<IrModuleFragment>,
|
||||
override val irPluginContext: IrPluginContext,
|
||||
override val diagnosticReporter: BaseDiagnosticsCollector,
|
||||
override val descriptorMangler: KotlinMangler.DescriptorMangler,
|
||||
override val irMangler: KotlinMangler.IrMangler,
|
||||
override val firMangler: FirMangler?,
|
||||
override var irActualizerResult: IrActualizedResult? = null,
|
||||
override val fir2IrComponents: Fir2IrComponents?
|
||||
) : IrBackendInput()
|
||||
}
|
||||
|
||||
-6
@@ -74,12 +74,10 @@ class ClassicFrontend2IrConverter(
|
||||
state,
|
||||
codegenFactory,
|
||||
conversionResult,
|
||||
dependentIrModuleFragments = emptyList(),
|
||||
sourceFiles = emptyList(),
|
||||
descriptorMangler = conversionResult.symbolTable.signaturer.mangler,
|
||||
irMangler = JvmIrMangler,
|
||||
firMangler = null,
|
||||
fir2IrComponents = null,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -111,7 +109,6 @@ class ClassicFrontend2IrConverter(
|
||||
|
||||
return IrBackendInput.JsIrBackendInput(
|
||||
moduleFragment,
|
||||
dependentIrModuleFragments = emptyList(),
|
||||
pluginContext,
|
||||
sourceFiles.map(::KtPsiSourceFile),
|
||||
icData,
|
||||
@@ -120,7 +117,6 @@ class ClassicFrontend2IrConverter(
|
||||
descriptorMangler = (pluginContext.symbolTable as SymbolTable).signaturer.mangler,
|
||||
irMangler = JsManglerIr,
|
||||
firMangler = null,
|
||||
fir2IrComponents = null,
|
||||
) { file, _ ->
|
||||
metadataSerializer.serializeScope(file, analysisResult.bindingContext, moduleFragment.descriptor)
|
||||
}
|
||||
@@ -155,7 +151,6 @@ class ClassicFrontend2IrConverter(
|
||||
|
||||
return IrBackendInput.WasmBackendInput(
|
||||
moduleFragment,
|
||||
dependentIrModuleFragments = emptyList(),
|
||||
pluginContext,
|
||||
sourceFiles.map(::KtPsiSourceFile),
|
||||
icData,
|
||||
@@ -164,7 +159,6 @@ class ClassicFrontend2IrConverter(
|
||||
descriptorMangler = (pluginContext.symbolTable as SymbolTable).signaturer.mangler,
|
||||
irMangler = JsManglerIr,
|
||||
firMangler = null,
|
||||
fir2IrComponents = null,
|
||||
) { file, _ ->
|
||||
metadataSerializer.serializeScope(file, analysisResult.bindingContext, moduleFragment.descriptor)
|
||||
}
|
||||
|
||||
-5
@@ -76,7 +76,6 @@ class Fir2IrJsResultsConverter(
|
||||
val sourceFiles = mutableListOf<KtSourceFile>()
|
||||
val firFilesAndComponentsBySourceFile = mutableMapOf<KtSourceFile, Pair<FirFile, Fir2IrComponents>>()
|
||||
lateinit var mainPluginContext: IrPluginContext
|
||||
lateinit var mainComponents: Fir2IrComponents
|
||||
var irBuiltIns: IrBuiltInsOverFir? = null
|
||||
|
||||
val commonMemberStorage = Fir2IrCommonMemberStorage(IdSignatureDescriptor(JsManglerDesc), FirJsKotlinMangler())
|
||||
@@ -101,7 +100,6 @@ class Fir2IrJsResultsConverter(
|
||||
dependentIrParts.add(irModuleFragment)
|
||||
} else {
|
||||
mainIrPart = irModuleFragment
|
||||
mainComponents = components
|
||||
}
|
||||
|
||||
sourceFiles.addAll(part.firFiles.mapNotNull { it.value.sourceFile })
|
||||
@@ -117,7 +115,6 @@ class Fir2IrJsResultsConverter(
|
||||
|
||||
val result = IrBackendInput.JsIrBackendInput(
|
||||
mainIrPart,
|
||||
dependentIrParts,
|
||||
mainPluginContext,
|
||||
sourceFiles,
|
||||
configuration.incrementalDataProvider?.getSerializedData(sourceFiles) ?: emptyList(),
|
||||
@@ -126,7 +123,6 @@ class Fir2IrJsResultsConverter(
|
||||
descriptorMangler = commonMemberStorage.symbolTable.signaturer.mangler,
|
||||
irMangler = irMangler,
|
||||
firMangler = commonMemberStorage.firSignatureComposer.mangler,
|
||||
fir2IrComponents = mainComponents
|
||||
) { file, irActualizedResult ->
|
||||
val (firFile, components) = firFilesAndComponentsBySourceFile[file]
|
||||
?: error("cannot find FIR file by source file ${file.name} (${file.path})")
|
||||
@@ -147,7 +143,6 @@ class Fir2IrJsResultsConverter(
|
||||
configuration.languageVersionSettings,
|
||||
)
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
||||
+1
-3
@@ -118,7 +118,7 @@ class Fir2IrJvmResultsConverter(
|
||||
FirJvmVisibilityConverter,
|
||||
DefaultBuiltIns.Instance,
|
||||
typeContextProvider = ::JvmIrTypeSystemContext,
|
||||
)
|
||||
)
|
||||
irBuiltIns = components.irBuiltIns
|
||||
|
||||
if (index < inputArtifact.partsForDependsOnModules.size - 1) {
|
||||
@@ -154,12 +154,10 @@ class Fir2IrJvmResultsConverter(
|
||||
generationState,
|
||||
codegenFactory,
|
||||
backendInput,
|
||||
dependentIrParts,
|
||||
sourceFiles,
|
||||
descriptorMangler = commonMemberStorage.symbolTable.signaturer.mangler,
|
||||
irMangler = irMangler,
|
||||
firMangler = commonMemberStorage.firSignatureComposer.mangler,
|
||||
fir2IrComponents = mainModuleComponents
|
||||
)
|
||||
|
||||
return result
|
||||
|
||||
-4
@@ -79,7 +79,6 @@ class Fir2IrWasmResultsConverter(
|
||||
val sourceFiles = mutableListOf<KtSourceFile>()
|
||||
val firFilesAndComponentsBySourceFile = mutableMapOf<KtSourceFile, Pair<FirFile, Fir2IrComponents>>()
|
||||
lateinit var mainPluginContext: IrPluginContext
|
||||
lateinit var mainComponents: Fir2IrComponents
|
||||
var irBuiltIns: IrBuiltInsOverFir? = null
|
||||
|
||||
val commonMemberStorage = Fir2IrCommonMemberStorage(IdSignatureDescriptor(JsManglerDesc), FirJsKotlinMangler())
|
||||
@@ -102,7 +101,6 @@ class Fir2IrWasmResultsConverter(
|
||||
dependentIrParts.add(irModuleFragment)
|
||||
} else {
|
||||
mainIrPart = irModuleFragment
|
||||
mainComponents = components
|
||||
}
|
||||
|
||||
sourceFiles.addAll(part.firFiles.mapNotNull { it.value.sourceFile })
|
||||
@@ -118,7 +116,6 @@ class Fir2IrWasmResultsConverter(
|
||||
|
||||
return IrBackendInput.WasmBackendInput(
|
||||
mainIrPart,
|
||||
dependentIrParts,
|
||||
mainPluginContext,
|
||||
sourceFiles,
|
||||
configuration.incrementalDataProvider?.getSerializedData(sourceFiles) ?: emptyList(),
|
||||
@@ -127,7 +124,6 @@ class Fir2IrWasmResultsConverter(
|
||||
descriptorMangler = commonMemberStorage.symbolTable.signaturer.mangler,
|
||||
irMangler = JsManglerIr,
|
||||
firMangler = commonMemberStorage.firSignatureComposer.mangler,
|
||||
fir2IrComponents = mainComponents,
|
||||
) { file, irActualizedResult ->
|
||||
val (firFile, components) = firFilesAndComponentsBySourceFile[file]
|
||||
?: error("cannot find FIR file by source file ${file.name} (${file.path})")
|
||||
|
||||
@@ -74,7 +74,7 @@ class FirJsKlibBackendFacade(
|
||||
abiVersion = KotlinAbiVersion.CURRENT, // TODO get from test file data
|
||||
jsOutputName = null
|
||||
) {
|
||||
inputArtifact.serializeSingleFile(it, inputArtifact.irActualizerResult)
|
||||
inputArtifact.serializeSingleFile(it, TODO("Will be fixed in the next commit"))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ class JsKlibBackendFacade(
|
||||
abiVersion = KotlinAbiVersion.CURRENT, // TODO get from test file data
|
||||
jsOutputName = null
|
||||
) {
|
||||
inputArtifact.serializeSingleFile(it, inputArtifact.irActualizerResult)
|
||||
inputArtifact.serializeSingleFile(it, TODO("Will be fixed in the next commit"))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-3
@@ -127,13 +127,11 @@ class ClassicFrontend2NativeIrConverter(
|
||||
|
||||
return IrBackendInput.NativeBackendInput(
|
||||
moduleFragment,
|
||||
dependentIrModuleFragments = emptyList(),
|
||||
pluginContext,
|
||||
diagnosticReporter = DiagnosticReporterFactory.createReporter(),
|
||||
descriptorMangler = (pluginContext.symbolTable as SymbolTable).signaturer.mangler,
|
||||
irMangler = KonanManglerIr,
|
||||
firMangler = null,
|
||||
fir2IrComponents = null,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -145,4 +143,4 @@ class ClassicFrontend2NativeIrConverter(
|
||||
CastCompatibleKotlinNativeClassLoader.kotlinNativeClassLoader.classLoader
|
||||
).kotlin
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
-2
@@ -114,13 +114,11 @@ class Fir2IrNativeResultsConverter(
|
||||
|
||||
val result = IrBackendInput.NativeBackendInput(
|
||||
mainIrPart,
|
||||
dependentIrParts,
|
||||
mainPluginContext,
|
||||
diagnosticReporter = diagnosticReporter,
|
||||
descriptorMangler = commonMemberStorage.symbolTable.signaturer.mangler,
|
||||
irMangler = KonanManglerIr,
|
||||
firMangler = commonMemberStorage.firSignatureComposer.mangler,
|
||||
fir2IrComponents = null,
|
||||
)
|
||||
|
||||
return result
|
||||
|
||||
+1
-1
@@ -74,7 +74,7 @@ class FirWasmKlibBackendFacade(
|
||||
abiVersion = KotlinAbiVersion.CURRENT, // TODO get from test file data
|
||||
jsOutputName = null
|
||||
) {
|
||||
inputArtifact.serializeSingleFile(it, inputArtifact.irActualizerResult)
|
||||
inputArtifact.serializeSingleFile(it, TODO("Will be fixed in the next commit"))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user