[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:
Sergej Jaskiewicz
2024-01-15 19:48:34 +01:00
committed by Space Team
parent 8b4cc050eb
commit bc5810ee67
21 changed files with 34 additions and 109 deletions
@@ -267,7 +267,6 @@ internal class KtFirCompilerFacility(
fir2IrExtensions,
fir2IrConfiguration,
irGeneratorExtensions,
signatureComposerForJvmFir2Ir(),
JvmIrMangler,
FirJvmKotlinMangler(),
FirJvmVisibilityConverter,
@@ -33,7 +33,6 @@ import org.jetbrains.kotlin.fir.session.KlibIcData
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.incremental.js.IncrementalDataProvider
import org.jetbrains.kotlin.ir.backend.js.*
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.types.IrTypeSystemContextImpl
import org.jetbrains.kotlin.ir.util.IrMessageLogger
@@ -243,7 +242,6 @@ fun transformFirToIr(
fir2IrExtensions,
Fir2IrConfiguration.forKlibCompilation(moduleStructure.compilerConfiguration, diagnosticsReporter),
IrGenerationExtension.getInstances(moduleStructure.project),
signatureComposer = DescriptorSignatureComposerStub(JsManglerDesc),
irMangler = JsManglerIr,
firMangler = FirJsKotlinMangler(),
visibilityConverter = Fir2IrVisibilityConverter.Default,
@@ -203,7 +203,6 @@ fun FirResult.convertToIrAndActualizeForJvm(
fir2IrExtensions,
fir2IrConfiguration,
irGeneratorExtensions,
signatureComposerForJvmFir2Ir(),
JvmIrMangler,
FirJvmKotlinMangler(),
FirJvmVisibilityConverter,
@@ -19,12 +19,10 @@ import org.jetbrains.kotlin.fir.backend.jvm.Fir2IrJvmSpecialAnnotationSymbolProv
import org.jetbrains.kotlin.fir.declarations.FirFile
import org.jetbrains.kotlin.fir.resolve.ScopeSession
import org.jetbrains.kotlin.ir.IrBuiltIns
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmDescriptorMangler
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
import org.jetbrains.kotlin.ir.overrides.buildForAll
import org.jetbrains.kotlin.ir.types.IrTypeSystemContext
import org.jetbrains.kotlin.ir.util.IdSignatureComposer
import org.jetbrains.kotlin.ir.util.KotlinMangler
import org.jetbrains.kotlin.ir.visitors.acceptVoid
@@ -43,16 +41,10 @@ data class Fir2IrActualizedResult(
val irActualizedResult: IrActualizedResult?,
)
fun signatureComposerForJvmFir2Ir(): IdSignatureComposer {
val mangler = JvmDescriptorMangler(null)
return DescriptorSignatureComposerStub(mangler)
}
fun FirResult.convertToIrAndActualize(
fir2IrExtensions: Fir2IrExtensions,
fir2IrConfiguration: Fir2IrConfiguration,
irGeneratorExtensions: Collection<IrGenerationExtension>,
signatureComposer: IdSignatureComposer,
irMangler: KotlinMangler.IrMangler,
firMangler: FirMangler,
visibilityConverter: Fir2IrVisibilityConverter,
@@ -60,7 +52,7 @@ fun FirResult.convertToIrAndActualize(
actualizerTypeContextProvider: (IrBuiltIns) -> IrTypeSystemContext,
fir2IrResultPostCompute: (ModuleCompilerAnalyzedOutput, Fir2IrResult) -> Unit = { _, _ -> },
): Fir2IrActualizedResult {
val commonMemberStorage = Fir2IrCommonMemberStorage(signatureComposer, firMangler)
val commonMemberStorage = Fir2IrCommonMemberStorage(firMangler)
require(outputs.isNotEmpty()) { "No modules found" }
@@ -1,38 +0,0 @@
/*
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.fir.backend
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
import org.jetbrains.kotlin.ir.util.IdSignature
import org.jetbrains.kotlin.ir.util.IdSignatureComposer
import org.jetbrains.kotlin.ir.util.KotlinMangler
/**
* A dummy signature composer that returns `null` for all declaration descriptors.
*/
class DescriptorSignatureComposerStub(override val mangler: KotlinMangler.DescriptorMangler) : IdSignatureComposer {
override fun composeSignature(descriptor: DeclarationDescriptor): IdSignature? {
return null
}
override fun composeEnumEntrySignature(descriptor: ClassDescriptor): IdSignature? {
return null
}
override fun composeFieldSignature(descriptor: PropertyDescriptor): IdSignature? {
return null
}
override fun composeAnonInitSignature(descriptor: ClassDescriptor): IdSignature? {
return null
}
override fun withFileSignature(fileSignature: IdSignature.FileSignature, body: () -> Unit) {
body()
}
}
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.fir.signaturer.FirBasedSignatureComposer
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
import org.jetbrains.kotlin.ir.symbols.*
import org.jetbrains.kotlin.ir.util.IdSignatureComposer
import org.jetbrains.kotlin.ir.util.SymbolTable
import java.util.concurrent.ConcurrentHashMap
@@ -22,13 +21,10 @@ import java.util.concurrent.ConcurrentHashMap
*
* See `/docs/fir/k2_kmp.md`
*/
class Fir2IrCommonMemberStorage(
signatureComposer: IdSignatureComposer,
firMangler: FirMangler
) {
class Fir2IrCommonMemberStorage(firMangler: FirMangler) {
val firSignatureComposer = FirBasedSignatureComposer(firMangler)
val symbolTable = SymbolTable(signaturer = signatureComposer, irFactory = IrFactoryImpl)
val symbolTable = SymbolTable(signaturer = null, irFactory = IrFactoryImpl)
val classCache: MutableMap<FirRegularClass, IrClass> = mutableMapOf()
@@ -62,7 +62,6 @@ interface Fir2IrComponents {
val annotationsFromPluginRegistrar: Fir2IrIrGeneratedDeclarationsRegistrar
interface Manglers {
val descriptorMangler: KotlinMangler.DescriptorMangler
val irMangler: KotlinMangler.IrMangler
val firMangler: FirMangler
}
@@ -75,9 +75,6 @@ class Fir2IrComponentsStorage(
get() = symbolTable.lock
override val manglers: Fir2IrComponents.Manglers = object : Fir2IrComponents.Manglers {
override val descriptorMangler: KotlinMangler.DescriptorMangler
get() = symbolTable.signaturer.mangler
override val irMangler: KotlinMangler.IrMangler
get() = irMangler
@@ -68,7 +68,7 @@ open class FragmentDeclarationGenerator(
isInline = false,
isExpect = false,
returnType = irClass.defaultType,
symbol = IrConstructorPublicSymbolImpl(context.symbolTable.signaturer.composeSignature(irClass.descriptor)!!),
symbol = IrConstructorPublicSymbolImpl(context.symbolTable.signaturer!!.composeSignature(irClass.descriptor)!!),
isPrimary = true,
isExternal = false
)
@@ -38,7 +38,7 @@ open class DescriptorSymbolTableExtension(table: SymbolTable) : SymbolTableExten
get() = table.nameProvider
private val signatureComposer: IdSignatureComposer
get() = table.signaturer
get() = table.signaturer!!
private val externalPackageFragmentSlice: SymbolTableSlice<PackageFragmentDescriptor, IrExternalPackageFragment, IrExternalPackageFragmentSymbol> = SymbolTableSlice.Flat(lock)
@@ -17,7 +17,7 @@ private fun <SymbolOwner : IrSymbolOwner, Symbol : IrBindableSymbol<*, SymbolOwn
@OptIn(SymbolTableInternals::class)
open class SymbolTable(
val signaturer: IdSignatureComposer,
val signaturer: IdSignatureComposer?, // TODO: This is `null` only in FIR2IR. Make non-nullable again after KT-64990 is fixed.
val irFactory: IrFactory,
val nameProvider: NameProvider = NameProvider.DEFAULT,
) : ReferenceSymbolTable {
@@ -94,8 +94,13 @@ fun deserializeFromByteArray(
deserializer.deserializeDeclaration(declarationProto, setParent = false)
}
symbolTable.signaturer.withFileSignature(dummyFileSignature) {
val signaturer = symbolTable.signaturer
if (signaturer == null) {
ExternalDependenciesGenerator(symbolTable, irProviders).generateUnboundSymbolsAsDependencies()
} else {
signaturer.withFileSignature(dummyFileSignature) {
ExternalDependenciesGenerator(symbolTable, irProviders).generateUnboundSymbolsAsDependencies()
}
}
toplevelParent.acceptChildrenVoid(PatchDeclarationParentsVisitor(toplevelParent))
buildFakeOverridesForLocalClasses(symbolTable, typeSystemContext, symbolDeserializer, toplevelParent)
@@ -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() {
@@ -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()
@@ -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 ->
@@ -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,
@@ -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> {
@@ -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,
)
}
}
@@ -15,9 +15,7 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.builtins.konan.KonanBuiltIns
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
import org.jetbrains.kotlin.cli.common.fir.FirDiagnosticsCompilerResultsReporter
import org.jetbrains.kotlin.config.CommonConfigurationKeys
import org.jetbrains.kotlin.config.languageVersionSettings
import org.jetbrains.kotlin.constant.EvaluatedConstTracker
import org.jetbrains.kotlin.descriptors.isEmpty
import org.jetbrains.kotlin.descriptors.konan.isNativeStdlib
import org.jetbrains.kotlin.diagnostics.DiagnosticReporterFactory
@@ -98,7 +96,6 @@ internal fun PhaseContext.fir2Ir(
NativeFir2IrExtensions,
fir2IrConfiguration,
IrGenerationExtension.getInstances(config.project),
signatureComposer = DescriptorSignatureComposerStub(KonanManglerDesc),
irMangler = KonanManglerIr,
firMangler = FirNativeKotlinMangler,
visibilityConverter = Fir2IrVisibilityConverter.Default,
@@ -133,7 +133,7 @@ class ClassicFrontend2NativeIrConverter(
moduleFragment,
pluginContext,
diagnosticReporter = DiagnosticReporterFactory.createReporter(),
descriptorMangler = (pluginContext.symbolTable as SymbolTable).signaturer.mangler,
descriptorMangler = (pluginContext.symbolTable as SymbolTable).signaturer!!.mangler,
irMangler = KonanManglerIr,
firMangler = null,
)
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.konan.test
import org.jetbrains.kotlin.KtSourceFile
import org.jetbrains.kotlin.backend.common.serialization.metadata.DynamicTypeDeserializer
import org.jetbrains.kotlin.backend.konan.serialization.KonanManglerDesc
import org.jetbrains.kotlin.backend.konan.serialization.KonanManglerIr
import org.jetbrains.kotlin.builtins.konan.KonanBuiltIns
import org.jetbrains.kotlin.config.CompilerConfiguration
@@ -30,10 +29,6 @@ import org.jetbrains.kotlin.test.services.TestServices
class Fir2IrNativeResultsConverter(testServices: TestServices) : AbstractFir2IrNonJvmResultsConverter(testServices) {
override fun createDescriptorMangler(): KotlinMangler.DescriptorMangler {
return KonanManglerDesc
}
override fun createIrMangler(): KotlinMangler.IrMangler {
return KonanManglerIr
}
@@ -62,7 +57,7 @@ class Fir2IrNativeResultsConverter(testServices: TestServices) : AbstractFir2IrN
fir2IrResult.irModuleFragment,
fir2IrResult.pluginContext,
diagnosticReporter = diagnosticReporter,
descriptorMangler = manglers.descriptorMangler,
descriptorMangler = null,
irMangler = manglers.irMangler,
firMangler = manglers.firMangler,
)