diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrClassifierStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrClassifierStorage.kt index 5c45044e836..38d40d5674e 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrClassifierStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrClassifierStorage.kt @@ -426,7 +426,7 @@ class Fir2IrClassifierStorage( val irTypeParameter = with(typeParameter) { convertWithOffsets { startOffset, endOffset -> signatureComposer.composeTypeParameterSignature( - typeParameter, index, ownerSymbol.signature + index, ownerSymbol.signature )?.let { signature -> if (ownerSymbol is IrClassifierSymbol) { symbolTable.declareGlobalTypeParameter( diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrComponents.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrComponents.kt index 98618c776a7..902edb06314 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrComponents.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrComponents.kt @@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.backend.generators.CallAndReferenceGenerator import org.jetbrains.kotlin.fir.backend.generators.DelegatedMemberGenerator import org.jetbrains.kotlin.fir.backend.generators.FakeOverrideGenerator import org.jetbrains.kotlin.fir.resolve.ScopeSession +import org.jetbrains.kotlin.fir.signaturer.FirBasedSignatureComposer import org.jetbrains.kotlin.ir.IrLock import org.jetbrains.kotlin.ir.declarations.IrFactory import org.jetbrains.kotlin.ir.linkage.IrProvider @@ -33,7 +34,7 @@ interface Fir2IrComponents { val declarationStorage: Fir2IrDeclarationStorage val typeConverter: Fir2IrTypeConverter - val signatureComposer: Fir2IrSignatureComposer + val signatureComposer: FirBasedSignatureComposer val visibilityConverter: Fir2IrVisibilityConverter val annotationGenerator: AnnotationGenerator diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrSignatureComposer.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrSignatureComposer.kt deleted file mode 100644 index dc6fce75654..00000000000 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrSignatureComposer.kt +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2010-2022 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.fir.declarations.FirDeclaration -import org.jetbrains.kotlin.fir.declarations.FirProperty -import org.jetbrains.kotlin.fir.declarations.FirTypeParameter -import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag -import org.jetbrains.kotlin.ir.util.IdSignature - -interface Fir2IrSignatureComposer { - val mangler: FirMangler - fun composeSignature( - declaration: FirDeclaration, - containingClass: ConeClassLikeLookupTag? = null, - forceTopLevelPrivate: Boolean = false, - forceExpect: Boolean = false, - ): IdSignature? - - fun composeAccessorSignature( - property: FirProperty, - isSetter: Boolean, - containingClass: ConeClassLikeLookupTag? = null, - forceTopLevelPrivate: Boolean = false - ): IdSignature? - - fun composeTypeParameterSignature(typeParameter: FirTypeParameter, index: Int, containerSignature: IdSignature?): IdSignature? - fun withFileSignature(sig: IdSignature.FileSignature, body: () -> Unit) -} diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/WrappedDescriptorSignatureComposer.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/WrappedDescriptorSignatureComposer.kt index 8727e6879bd..674e7bbbf45 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/WrappedDescriptorSignatureComposer.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/WrappedDescriptorSignatureComposer.kt @@ -5,16 +5,17 @@ package org.jetbrains.kotlin.fir.backend +import org.jetbrains.kotlin.fir.signaturer.FirBasedSignatureComposer import org.jetbrains.kotlin.ir.util.IdSignature import org.jetbrains.kotlin.ir.util.IdSignatureComposer class WrappedDescriptorSignatureComposer( private val delegate: IdSignatureComposer, - private val firComposer: Fir2IrSignatureComposer + private val firComposer: FirBasedSignatureComposer ) : IdSignatureComposer by delegate { override fun withFileSignature(fileSignature: IdSignature.FileSignature, body: () -> Unit) { firComposer.withFileSignature(fileSignature) { delegate.withFileSignature(fileSignature, body) } } -} \ No newline at end of file +} diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/signaturer/FirBasedSignatureComposer.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/signaturer/FirBasedSignatureComposer.kt index e3aa0478fd8..455b568f66d 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/signaturer/FirBasedSignatureComposer.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/signaturer/FirBasedSignatureComposer.kt @@ -5,11 +5,9 @@ package org.jetbrains.kotlin.fir.signaturer -import org.jetbrains.kotlin.KtFakeSourceElementKind import org.jetbrains.kotlin.backend.common.serialization.mangle.MangleConstant import org.jetbrains.kotlin.descriptors.Visibilities import org.jetbrains.kotlin.fir.* -import org.jetbrains.kotlin.fir.backend.Fir2IrSignatureComposer import org.jetbrains.kotlin.fir.backend.FirMangler import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyGetter @@ -24,10 +22,10 @@ import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName // @NoMutableState -- we'll restore this annotation once we get rid of withFileSignature(). -class FirBasedSignatureComposer(override val mangler: FirMangler) : Fir2IrSignatureComposer { +class FirBasedSignatureComposer(val mangler: FirMangler) { private var fileSignature: IdSignature.FileSignature? = null - override fun withFileSignature(sig: IdSignature.FileSignature, body: () -> Unit) { + fun withFileSignature(sig: IdSignature.FileSignature, body: () -> Unit) { fileSignature = sig body() fileSignature = null @@ -86,11 +84,11 @@ class FirBasedSignatureComposer(override val mangler: FirMangler) : Fir2IrSignat } } - override fun composeSignature( + fun composeSignature( declaration: FirDeclaration, - containingClass: ConeClassLikeLookupTag?, - forceTopLevelPrivate: Boolean, - forceExpect: Boolean, + containingClass: ConeClassLikeLookupTag? = null, + forceTopLevelPrivate: Boolean = false, + forceExpect: Boolean = false, ): IdSignature? { if (declaration is FirAnonymousObject || declaration is FirAnonymousFunction) return null if (declaration is FirRegularClass && declaration.classId.isLocal) return null @@ -169,8 +167,7 @@ class FirBasedSignatureComposer(override val mangler: FirMangler) : Fir2IrSignat } } - override fun composeTypeParameterSignature( - typeParameter: FirTypeParameter, + fun composeTypeParameterSignature( index: Int, containerSignature: IdSignature? ): IdSignature? { @@ -181,11 +178,11 @@ class FirBasedSignatureComposer(override val mangler: FirMangler) : Fir2IrSignat ) } - override fun composeAccessorSignature( + fun composeAccessorSignature( property: FirProperty, isSetter: Boolean, - containingClass: ConeClassLikeLookupTag?, - forceTopLevelPrivate: Boolean + containingClass: ConeClassLikeLookupTag? = null, + forceTopLevelPrivate: Boolean = false ): IdSignature? { val propSig: IdSignature.CommonSignature val fileSig: IdSignature.FileSignature?