[FIR2IR] Drop Fir2IrSignatureComposer

This interface had only one implementation, so all its usages were
  replaced with this implementation
This commit is contained in:
Dmitriy Novozhilov
2023-07-12 12:48:12 +03:00
committed by Space Team
parent 2fd77d0925
commit 5f36f80d25
5 changed files with 16 additions and 49 deletions
@@ -426,7 +426,7 @@ class Fir2IrClassifierStorage(
val irTypeParameter = with(typeParameter) { val irTypeParameter = with(typeParameter) {
convertWithOffsets { startOffset, endOffset -> convertWithOffsets { startOffset, endOffset ->
signatureComposer.composeTypeParameterSignature( signatureComposer.composeTypeParameterSignature(
typeParameter, index, ownerSymbol.signature index, ownerSymbol.signature
)?.let { signature -> )?.let { signature ->
if (ownerSymbol is IrClassifierSymbol) { if (ownerSymbol is IrClassifierSymbol) {
symbolTable.declareGlobalTypeParameter( symbolTable.declareGlobalTypeParameter(
@@ -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.DelegatedMemberGenerator
import org.jetbrains.kotlin.fir.backend.generators.FakeOverrideGenerator import org.jetbrains.kotlin.fir.backend.generators.FakeOverrideGenerator
import org.jetbrains.kotlin.fir.resolve.ScopeSession 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.IrLock
import org.jetbrains.kotlin.ir.declarations.IrFactory import org.jetbrains.kotlin.ir.declarations.IrFactory
import org.jetbrains.kotlin.ir.linkage.IrProvider import org.jetbrains.kotlin.ir.linkage.IrProvider
@@ -33,7 +34,7 @@ interface Fir2IrComponents {
val declarationStorage: Fir2IrDeclarationStorage val declarationStorage: Fir2IrDeclarationStorage
val typeConverter: Fir2IrTypeConverter val typeConverter: Fir2IrTypeConverter
val signatureComposer: Fir2IrSignatureComposer val signatureComposer: FirBasedSignatureComposer
val visibilityConverter: Fir2IrVisibilityConverter val visibilityConverter: Fir2IrVisibilityConverter
val annotationGenerator: AnnotationGenerator val annotationGenerator: AnnotationGenerator
@@ -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)
}
@@ -5,12 +5,13 @@
package org.jetbrains.kotlin.fir.backend 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.IdSignature
import org.jetbrains.kotlin.ir.util.IdSignatureComposer import org.jetbrains.kotlin.ir.util.IdSignatureComposer
class WrappedDescriptorSignatureComposer( class WrappedDescriptorSignatureComposer(
private val delegate: IdSignatureComposer, private val delegate: IdSignatureComposer,
private val firComposer: Fir2IrSignatureComposer private val firComposer: FirBasedSignatureComposer
) : IdSignatureComposer by delegate { ) : IdSignatureComposer by delegate {
override fun withFileSignature(fileSignature: IdSignature.FileSignature, body: () -> Unit) { override fun withFileSignature(fileSignature: IdSignature.FileSignature, body: () -> Unit) {
firComposer.withFileSignature(fileSignature) { firComposer.withFileSignature(fileSignature) {
@@ -5,11 +5,9 @@
package org.jetbrains.kotlin.fir.signaturer package org.jetbrains.kotlin.fir.signaturer
import org.jetbrains.kotlin.KtFakeSourceElementKind
import org.jetbrains.kotlin.backend.common.serialization.mangle.MangleConstant import org.jetbrains.kotlin.backend.common.serialization.mangle.MangleConstant
import org.jetbrains.kotlin.descriptors.Visibilities import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.fir.* import org.jetbrains.kotlin.fir.*
import org.jetbrains.kotlin.fir.backend.Fir2IrSignatureComposer
import org.jetbrains.kotlin.fir.backend.FirMangler import org.jetbrains.kotlin.fir.backend.FirMangler
import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyGetter import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyGetter
@@ -24,10 +22,10 @@ import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.FqName
// @NoMutableState -- we'll restore this annotation once we get rid of withFileSignature(). // @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 private var fileSignature: IdSignature.FileSignature? = null
override fun withFileSignature(sig: IdSignature.FileSignature, body: () -> Unit) { fun withFileSignature(sig: IdSignature.FileSignature, body: () -> Unit) {
fileSignature = sig fileSignature = sig
body() body()
fileSignature = null fileSignature = null
@@ -86,11 +84,11 @@ class FirBasedSignatureComposer(override val mangler: FirMangler) : Fir2IrSignat
} }
} }
override fun composeSignature( fun composeSignature(
declaration: FirDeclaration, declaration: FirDeclaration,
containingClass: ConeClassLikeLookupTag?, containingClass: ConeClassLikeLookupTag? = null,
forceTopLevelPrivate: Boolean, forceTopLevelPrivate: Boolean = false,
forceExpect: Boolean, forceExpect: Boolean = false,
): IdSignature? { ): IdSignature? {
if (declaration is FirAnonymousObject || declaration is FirAnonymousFunction) return null if (declaration is FirAnonymousObject || declaration is FirAnonymousFunction) return null
if (declaration is FirRegularClass && declaration.classId.isLocal) 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( fun composeTypeParameterSignature(
typeParameter: FirTypeParameter,
index: Int, index: Int,
containerSignature: IdSignature? containerSignature: IdSignature?
): IdSignature? { ): IdSignature? {
@@ -181,11 +178,11 @@ class FirBasedSignatureComposer(override val mangler: FirMangler) : Fir2IrSignat
) )
} }
override fun composeAccessorSignature( fun composeAccessorSignature(
property: FirProperty, property: FirProperty,
isSetter: Boolean, isSetter: Boolean,
containingClass: ConeClassLikeLookupTag?, containingClass: ConeClassLikeLookupTag? = null,
forceTopLevelPrivate: Boolean forceTopLevelPrivate: Boolean = false
): IdSignature? { ): IdSignature? {
val propSig: IdSignature.CommonSignature val propSig: IdSignature.CommonSignature
val fileSig: IdSignature.FileSignature? val fileSig: IdSignature.FileSignature?