From d0c9353d4128a60e34b61096b51afdf528b29095 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Wed, 21 Feb 2024 10:23:35 +0200 Subject: [PATCH] [FIR2IR] Part 2. Don't create class symbols with signature Signature calculation was already disabled for almost all cases in the scope of KT-64990 --- .../kotlin/fir/backend/Fir2IrClassifierStorage.kt | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) 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 aee7cb1159b..39e4fb02dd2 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 @@ -24,7 +24,6 @@ import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.symbols.* import org.jetbrains.kotlin.ir.symbols.impl.* import org.jetbrains.kotlin.ir.types.IrType -import org.jetbrains.kotlin.ir.util.IdSignature import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.SpecialNames import org.jetbrains.kotlin.utils.addToStdlib.runIf @@ -178,18 +177,15 @@ class Fir2IrClassifierStorage( parent: IrDeclarationParent, predefinedOrigin: IrDeclarationOrigin? = null ): IrClass { - val symbol = createClassSymbol(signature = null) + val symbol = createClassSymbol() return classifiersGenerator.createIrClass(regularClass, parent, symbol, predefinedOrigin).also { @OptIn(LeakedDeclarationCaches::class) cacheIrClass(regularClass, it) } } - private fun createClassSymbol(signature: IdSignature?): IrClassSymbol { - return when { - signature != null -> symbolTable.referenceClass(signature) - else -> IrClassSymbolImpl() - } + private fun createClassSymbol(): IrClassSymbol { + return IrClassSymbolImpl() } @LeakedDeclarationCaches @@ -216,7 +212,7 @@ class Fir2IrClassifierStorage( return createAndCacheLocalIrClassOnTheFly(firClass) } require(firClass is FirRegularClass) - val symbol = createClassSymbol(signature = null) + val symbol = createClassSymbol() val classId = firClass.symbol.classId val parentId = classId.outerClassId val parentClass = parentId?.let { session.symbolProvider.getClassLikeSymbolByClassId(it) } @@ -418,8 +414,7 @@ class Fir2IrClassifierStorage( } fun createAndCacheCodeFragmentClass(codeFragment: FirCodeFragment, containingFile: IrFile): IrClass { - val signature = signatureComposer.composeSignature(codeFragment) - val symbol = createClassSymbol(signature) + val symbol = createClassSymbol() return classifiersGenerator.createCodeFragmentClass(codeFragment, containingFile, symbol).also { codeFragmentCache[codeFragment] = it }