[FIR2IR] Don't use descriptor manglers in FIR2IR
They don't do anything, only complicate the initial configuration. KT-64990
This commit is contained in:
committed by
Space Team
parent
8b4cc050eb
commit
bc5810ee67
+2
-2
@@ -176,7 +176,7 @@ class IrMangledNameAndSignatureDumpHandler(
|
||||
private inner class DumpStrategy(
|
||||
val module: TestModule,
|
||||
val irMangler: KotlinMangler.IrMangler,
|
||||
val descriptorMangler: KotlinMangler.DescriptorMangler,
|
||||
val descriptorMangler: KotlinMangler.DescriptorMangler?,
|
||||
val firMangler: FirMangler?,
|
||||
val irBuiltIns: IrBuiltIns,
|
||||
) : CustomKotlinLikeDumpStrategy {
|
||||
@@ -242,7 +242,7 @@ class IrMangledNameAndSignatureDumpHandler(
|
||||
// for computing signature mangled names.
|
||||
firMangler?.addSignatureMangledNameTo(signatureMangledNames, firDeclaration, ComputedBy.FE)
|
||||
} else
|
||||
descriptorMangler.addSignatureMangledNameTo(signatureMangledNames, symbol.descriptor, ComputedBy.FE)
|
||||
descriptorMangler?.addSignatureMangledNameTo(signatureMangledNames, symbol.descriptor, ComputedBy.FE)
|
||||
}
|
||||
|
||||
fun printActualMangledNamesAndSignatures() {
|
||||
|
||||
+8
-7
@@ -33,14 +33,15 @@ sealed class IrBackendInput : ResultingArtifact.BackendInput<IrBackendInput>() {
|
||||
abstract val irPluginContext: IrPluginContext
|
||||
|
||||
/**
|
||||
* The mangler instance that was used to build declaration signatures from (possibly deserialized) K1 descriptors for this backend.
|
||||
* The mangler instance that was used to build declaration signatures from (possibly deserialized) K1 descriptors for this backend,
|
||||
* or `null` if this artifact was compiled using the K2 frontend.
|
||||
*
|
||||
* This instance can be used to verify signatures in tests.
|
||||
*
|
||||
* @see org.jetbrains.kotlin.backend.common.serialization.mangle.descriptor.DescriptorMangleComputer
|
||||
* @see org.jetbrains.kotlin.ir.util.IdSignature
|
||||
*/
|
||||
abstract val descriptorMangler: KotlinMangler.DescriptorMangler
|
||||
abstract val descriptorMangler: KotlinMangler.DescriptorMangler?
|
||||
|
||||
/**
|
||||
* The mangler instance that was used to build declaration signatures from IR declarations for this backend.
|
||||
@@ -70,7 +71,7 @@ sealed class IrBackendInput : ResultingArtifact.BackendInput<IrBackendInput>() {
|
||||
val icData: List<KotlinFileSerializedData>,
|
||||
override val diagnosticReporter: BaseDiagnosticsCollector,
|
||||
val hasErrors: Boolean,
|
||||
override val descriptorMangler: KotlinMangler.DescriptorMangler,
|
||||
override val descriptorMangler: KotlinMangler.DescriptorMangler?,
|
||||
override val irMangler: KotlinMangler.IrMangler,
|
||||
override val firMangler: FirMangler?,
|
||||
val serializeSingleFile: (KtSourceFile) -> ProtoBuf.PackageFragment,
|
||||
@@ -80,7 +81,7 @@ sealed class IrBackendInput : ResultingArtifact.BackendInput<IrBackendInput>() {
|
||||
override val irModuleFragment: IrModuleFragment,
|
||||
override val irPluginContext: IrPluginContext,
|
||||
override val diagnosticReporter: BaseDiagnosticsCollector,
|
||||
override val descriptorMangler: KotlinMangler.DescriptorMangler,
|
||||
override val descriptorMangler: KotlinMangler.DescriptorMangler?,
|
||||
override val irMangler: KotlinMangler.IrMangler,
|
||||
override val firMangler: FirMangler?,
|
||||
) : IrBackendInput() {
|
||||
@@ -96,7 +97,7 @@ sealed class IrBackendInput : ResultingArtifact.BackendInput<IrBackendInput>() {
|
||||
val icData: List<KotlinFileSerializedData>,
|
||||
override val diagnosticReporter: BaseDiagnosticsCollector,
|
||||
val hasErrors: Boolean,
|
||||
override val descriptorMangler: KotlinMangler.DescriptorMangler,
|
||||
override val descriptorMangler: KotlinMangler.DescriptorMangler?,
|
||||
override val irMangler: KotlinMangler.IrMangler,
|
||||
override val firMangler: FirMangler?,
|
||||
val serializeSingleFile: (KtSourceFile) -> ProtoBuf.PackageFragment,
|
||||
@@ -107,7 +108,7 @@ sealed class IrBackendInput : ResultingArtifact.BackendInput<IrBackendInput>() {
|
||||
val codegenFactory: JvmIrCodegenFactory,
|
||||
val backendInput: JvmIrCodegenFactory.JvmIrBackendInput,
|
||||
val sourceFiles: List<KtSourceFile>,
|
||||
override val descriptorMangler: KotlinMangler.DescriptorMangler,
|
||||
override val descriptorMangler: KotlinMangler.DescriptorMangler?,
|
||||
override val irMangler: KotlinMangler.IrMangler,
|
||||
override val firMangler: FirMangler?,
|
||||
) : IrBackendInput() {
|
||||
@@ -128,7 +129,7 @@ sealed class IrBackendInput : ResultingArtifact.BackendInput<IrBackendInput>() {
|
||||
override val irModuleFragment: IrModuleFragment,
|
||||
override val irPluginContext: IrPluginContext,
|
||||
override val diagnosticReporter: BaseDiagnosticsCollector,
|
||||
override val descriptorMangler: KotlinMangler.DescriptorMangler,
|
||||
override val descriptorMangler: KotlinMangler.DescriptorMangler?,
|
||||
override val irMangler: KotlinMangler.IrMangler,
|
||||
override val firMangler: FirMangler?,
|
||||
) : IrBackendInput()
|
||||
|
||||
+3
-3
@@ -75,7 +75,7 @@ class ClassicFrontend2IrConverter(
|
||||
codegenFactory,
|
||||
conversionResult,
|
||||
sourceFiles = emptyList(),
|
||||
descriptorMangler = conversionResult.symbolTable.signaturer.mangler,
|
||||
descriptorMangler = conversionResult.symbolTable.signaturer!!.mangler,
|
||||
irMangler = JvmIrMangler,
|
||||
firMangler = null,
|
||||
)
|
||||
@@ -114,7 +114,7 @@ class ClassicFrontend2IrConverter(
|
||||
icData,
|
||||
diagnosticReporter = DiagnosticReporterFactory.createReporter(),
|
||||
hasErrors,
|
||||
descriptorMangler = (pluginContext.symbolTable as SymbolTable).signaturer.mangler,
|
||||
descriptorMangler = (pluginContext.symbolTable as SymbolTable).signaturer!!.mangler,
|
||||
irMangler = JsManglerIr,
|
||||
firMangler = null,
|
||||
) { file ->
|
||||
@@ -156,7 +156,7 @@ class ClassicFrontend2IrConverter(
|
||||
icData,
|
||||
diagnosticReporter = DiagnosticReporterFactory.createReporter(),
|
||||
hasErrors,
|
||||
descriptorMangler = (pluginContext.symbolTable as SymbolTable).signaturer.mangler,
|
||||
descriptorMangler = (pluginContext.symbolTable as SymbolTable).signaturer!!.mangler,
|
||||
irMangler = JsManglerIr,
|
||||
firMangler = null,
|
||||
) { file ->
|
||||
|
||||
-6
@@ -7,14 +7,11 @@ package org.jetbrains.kotlin.test.frontend.fir
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceFile
|
||||
import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
|
||||
import org.jetbrains.kotlin.backend.common.serialization.signature.IdSignatureDescriptor
|
||||
import org.jetbrains.kotlin.builtins.DefaultBuiltIns
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.config.CommonConfigurationKeys
|
||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||
import org.jetbrains.kotlin.config.languageVersionSettings
|
||||
import org.jetbrains.kotlin.constant.EvaluatedConstTracker
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
|
||||
import org.jetbrains.kotlin.diagnostics.DiagnosticReporterFactory
|
||||
@@ -35,7 +32,6 @@ import org.jetbrains.kotlin.library.unresolvedDependencies
|
||||
import org.jetbrains.kotlin.storage.LockBasedStorageManager
|
||||
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives
|
||||
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives
|
||||
import org.jetbrains.kotlin.test.model.BackendKinds
|
||||
import org.jetbrains.kotlin.test.model.Frontend2BackendConverter
|
||||
import org.jetbrains.kotlin.test.model.FrontendKinds
|
||||
@@ -51,7 +47,6 @@ abstract class AbstractFir2IrNonJvmResultsConverter(
|
||||
FrontendKinds.FIR,
|
||||
BackendKinds.IrBackend
|
||||
) {
|
||||
protected abstract fun createDescriptorMangler(): KotlinMangler.DescriptorMangler
|
||||
protected abstract fun createIrMangler(): KotlinMangler.IrMangler
|
||||
protected abstract fun createFirMangler(): FirMangler
|
||||
protected abstract fun resolveLibraries(module: TestModule, compilerConfiguration: CompilerConfiguration): List<KotlinResolvedLibrary>
|
||||
@@ -90,7 +85,6 @@ abstract class AbstractFir2IrNonJvmResultsConverter(
|
||||
Fir2IrExtensions.Default,
|
||||
fir2IrConfiguration,
|
||||
module.irGenerationExtensions(testServices),
|
||||
IdSignatureDescriptor(createDescriptorMangler()),
|
||||
irMangler,
|
||||
createFirMangler(),
|
||||
Fir2IrVisibilityConverter.Default,
|
||||
|
||||
+4
-9
@@ -23,7 +23,6 @@ import org.jetbrains.kotlin.ir.backend.js.JsFactories
|
||||
import org.jetbrains.kotlin.ir.backend.js.KotlinFileSerializedData
|
||||
import org.jetbrains.kotlin.ir.backend.js.getSerializedData
|
||||
import org.jetbrains.kotlin.ir.backend.js.incrementalDataProvider
|
||||
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerDesc
|
||||
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerIr
|
||||
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
||||
import org.jetbrains.kotlin.ir.util.KotlinMangler
|
||||
@@ -43,16 +42,12 @@ abstract class Fir2IrJsWasmResultsConverter(testServices: TestServices) : Abstra
|
||||
List<KotlinFileSerializedData>,
|
||||
BaseDiagnosticsCollector,
|
||||
Boolean,
|
||||
KotlinMangler.DescriptorMangler,
|
||||
KotlinMangler.DescriptorMangler?,
|
||||
KotlinMangler.IrMangler,
|
||||
FirMangler?,
|
||||
(KtSourceFile) -> ProtoBuf.PackageFragment
|
||||
) -> IrBackendInput
|
||||
|
||||
override fun createDescriptorMangler(): KotlinMangler.DescriptorMangler {
|
||||
return JsManglerDesc
|
||||
}
|
||||
|
||||
override fun createIrMangler(): KotlinMangler.IrMangler {
|
||||
return JsManglerIr
|
||||
}
|
||||
@@ -83,7 +78,7 @@ abstract class Fir2IrJsWasmResultsConverter(testServices: TestServices) : Abstra
|
||||
compilerConfiguration.incrementalDataProvider?.getSerializedData(sourceFiles) ?: emptyList(),
|
||||
diagnosticReporter,
|
||||
inputArtifact.hasErrors,
|
||||
manglers.descriptorMangler,
|
||||
/*descriptorMangler = */null,
|
||||
manglers.irMangler,
|
||||
manglers.firMangler,
|
||||
) { file ->
|
||||
@@ -108,7 +103,7 @@ abstract class Fir2IrJsWasmResultsConverter(testServices: TestServices) : Abstra
|
||||
}
|
||||
|
||||
class Fir2IrJsResultsConverter(testServices: TestServices) : Fir2IrJsWasmResultsConverter(testServices) {
|
||||
override val artifactFactory: (IrModuleFragment, IrPluginContext, List<KtSourceFile>, List<KotlinFileSerializedData>, BaseDiagnosticsCollector, Boolean, KotlinMangler.DescriptorMangler, KotlinMangler.IrMangler, FirMangler?, (KtSourceFile) -> ProtoBuf.PackageFragment) -> IrBackendInput
|
||||
override val artifactFactory: (IrModuleFragment, IrPluginContext, List<KtSourceFile>, List<KotlinFileSerializedData>, BaseDiagnosticsCollector, Boolean, KotlinMangler.DescriptorMangler?, KotlinMangler.IrMangler, FirMangler?, (KtSourceFile) -> ProtoBuf.PackageFragment) -> IrBackendInput
|
||||
get() = IrBackendInput::JsIrBackendInput
|
||||
|
||||
override fun resolveLibraries(module: TestModule, compilerConfiguration: CompilerConfiguration): List<KotlinResolvedLibrary> {
|
||||
@@ -118,7 +113,7 @@ class Fir2IrJsResultsConverter(testServices: TestServices) : Fir2IrJsWasmResults
|
||||
|
||||
|
||||
class Fir2IrWasmResultsConverter(testServices: TestServices) : Fir2IrJsWasmResultsConverter(testServices) {
|
||||
override val artifactFactory: (IrModuleFragment, IrPluginContext, List<KtSourceFile>, List<KotlinFileSerializedData>, BaseDiagnosticsCollector, Boolean, KotlinMangler.DescriptorMangler, KotlinMangler.IrMangler, FirMangler?, (KtSourceFile) -> ProtoBuf.PackageFragment) -> IrBackendInput
|
||||
override val artifactFactory: (IrModuleFragment, IrPluginContext, List<KtSourceFile>, List<KotlinFileSerializedData>, BaseDiagnosticsCollector, Boolean, KotlinMangler.DescriptorMangler?, KotlinMangler.IrMangler, FirMangler?, (KtSourceFile) -> ProtoBuf.PackageFragment) -> IrBackendInput
|
||||
get() = IrBackendInput::WasmBackendInput
|
||||
|
||||
override fun resolveLibraries(module: TestModule, compilerConfiguration: CompilerConfiguration): List<KotlinResolvedLibrary> {
|
||||
|
||||
+3
-7
@@ -14,11 +14,9 @@ import org.jetbrains.kotlin.cli.jvm.compiler.NoScopeRecordCliBindingTrace
|
||||
import org.jetbrains.kotlin.codegen.ClassBuilderFactories
|
||||
import org.jetbrains.kotlin.codegen.state.GenerationState
|
||||
import org.jetbrains.kotlin.diagnostics.DiagnosticReporterFactory
|
||||
import org.jetbrains.kotlin.fir.backend.Fir2IrCommonMemberStorage
|
||||
import org.jetbrains.kotlin.fir.backend.Fir2IrConfiguration
|
||||
import org.jetbrains.kotlin.fir.backend.jvm.*
|
||||
import org.jetbrains.kotlin.fir.pipeline.convertToIrAndActualize
|
||||
import org.jetbrains.kotlin.fir.pipeline.signatureComposerForJvmFir2Ir
|
||||
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmIrMangler
|
||||
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives
|
||||
@@ -68,7 +66,6 @@ class Fir2IrJvmResultsConverter(
|
||||
|
||||
val phaseConfig = configuration.get(CLIConfigurationKeys.PHASE_CONFIG)
|
||||
|
||||
val commonMemberStorage = Fir2IrCommonMemberStorage(signatureComposerForJvmFir2Ir(), FirJvmKotlinMangler())
|
||||
val diagnosticReporter = DiagnosticReporterFactory.createReporter()
|
||||
|
||||
val compilerConfiguration = compilerConfigurationProvider.getCompilerConfiguration(module)
|
||||
@@ -78,7 +75,6 @@ class Fir2IrJvmResultsConverter(
|
||||
fir2IrExtensions,
|
||||
fir2IrConfiguration,
|
||||
module.irGenerationExtensions(testServices),
|
||||
signatureComposerForJvmFir2Ir(),
|
||||
irMangler,
|
||||
FirJvmKotlinMangler(),
|
||||
FirJvmVisibilityConverter,
|
||||
@@ -114,9 +110,9 @@ class Fir2IrJvmResultsConverter(
|
||||
codegenFactory,
|
||||
backendInput,
|
||||
sourceFiles,
|
||||
descriptorMangler = commonMemberStorage.symbolTable.signaturer.mangler,
|
||||
irMangler = irMangler,
|
||||
firMangler = commonMemberStorage.firSignatureComposer.mangler,
|
||||
descriptorMangler = null,
|
||||
irMangler = fir2irResult.components.manglers.irMangler,
|
||||
firMangler = fir2irResult.components.manglers.firMangler,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user