From 10c3429ce6a4ec939f2eca3fc4514c44e2aa06ba Mon Sep 17 00:00:00 2001 From: Georgy Bronnikov Date: Mon, 22 Nov 2021 17:58:14 +0300 Subject: [PATCH] IR: remove dead code --- .../ir/util/DeclarationStubGenerator.kt | 28 -------------- .../deserializeLazyDeclarations.kt | 38 ++++++------------- 2 files changed, 11 insertions(+), 55 deletions(-) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeclarationStubGenerator.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeclarationStubGenerator.kt index 7bd210a89cf..307cb0f5a66 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeclarationStubGenerator.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeclarationStubGenerator.kt @@ -31,7 +31,6 @@ import org.jetbrains.kotlin.ir.symbols.impl.IrValueParameterSymbolImpl import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.descriptorUtil.isEffectivelyExternal import org.jetbrains.kotlin.resolve.isInlineOrValueClass -import org.jetbrains.kotlin.resolve.scopes.getDescriptorsFiltered import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.utils.addToStdlib.safeAs @@ -347,31 +346,4 @@ abstract class DeclarationStubGenerator( ) } } - - private fun findDescriptorBySignature(signature: IdSignature): DeclarationDescriptor? = - when (signature) { - is IdSignature.AccessorSignature -> findDescriptorForAccessorSignature(signature) - is IdSignature.CommonSignature -> findDescriptorForPublicSignature(signature) - else -> error("only PublicSignature or AccessorSignature should reach this point, got $signature") - } - - private fun findDescriptorForAccessorSignature(signature: IdSignature.AccessorSignature): DeclarationDescriptor? { - val propertyDescriptor = findDescriptorBySignature(signature.propertySignature) as? PropertyDescriptor ?: return null - val shortName = signature.accessorSignature.shortName - return propertyDescriptor.accessors.singleOrNull { it.name.asString() == shortName } - } - - private fun findDescriptorForPublicSignature(signature: IdSignature.CommonSignature): DeclarationDescriptor? { - val packageDescriptor = moduleDescriptor.getPackage(signature.packageFqName()) - val nameSegments = signature.nameSegments - val toplevelDescriptors = packageDescriptor.memberScope.getDescriptorsFiltered { name -> name.asString() == nameSegments.first() } - val candidates = nameSegments.drop(1).fold(toplevelDescriptors) { acc, current -> - acc.flatMap { container -> - val classDescriptor = container as? ClassDescriptor ?: return@flatMap emptyList() - classDescriptor.constructors.filter { it.name.asString() == current } + - classDescriptor.unsubstitutedMemberScope.getDescriptorsFiltered { name -> name.asString() == current } - } - } - return candidates.firstOrNull { symbolTable.signaturer.composeSignature(it) == signature } - } } diff --git a/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/backend/jvm/serialization/deserializeLazyDeclarations.kt b/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/backend/jvm/serialization/deserializeLazyDeclarations.kt index 1429a166511..4e1c36e0ce8 100644 --- a/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/backend/jvm/serialization/deserializeLazyDeclarations.kt +++ b/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/backend/jvm/serialization/deserializeLazyDeclarations.kt @@ -138,33 +138,17 @@ private fun referencePublicSymbol( symbolKind: BinarySymbolData.SymbolKind ): IrSymbol { with(symbolTable) { - val descriptor = descriptorFinder.findDescriptorBySignature(idSig) - return if (descriptor != null && false) { - when (symbolKind) { - BinarySymbolData.SymbolKind.CLASS_SYMBOL -> referenceClass(descriptor as ClassDescriptor) - BinarySymbolData.SymbolKind.CONSTRUCTOR_SYMBOL -> referenceConstructor(descriptor as ClassConstructorDescriptor) - BinarySymbolData.SymbolKind.ENUM_ENTRY_SYMBOL -> referenceEnumEntry(descriptor as ClassDescriptor) - BinarySymbolData.SymbolKind.STANDALONE_FIELD_SYMBOL, BinarySymbolData.SymbolKind.FIELD_SYMBOL - -> referenceField(descriptor as PropertyDescriptor) - BinarySymbolData.SymbolKind.FUNCTION_SYMBOL -> referenceSimpleFunction(descriptor as FunctionDescriptor) - BinarySymbolData.SymbolKind.TYPEALIAS_SYMBOL -> referenceTypeAlias(descriptor as TypeAliasDescriptor) - BinarySymbolData.SymbolKind.PROPERTY_SYMBOL -> referenceProperty(descriptor as PropertyDescriptor) - BinarySymbolData.SymbolKind.TYPE_PARAMETER_SYMBOL -> referenceTypeParameter(descriptor as TypeParameterDescriptor) - else -> error("Unexpected classifier symbol kind: $symbolKind for signature $idSig") - } - } else { - when (symbolKind) { - BinarySymbolData.SymbolKind.CLASS_SYMBOL -> referenceClass(idSig) - BinarySymbolData.SymbolKind.CONSTRUCTOR_SYMBOL -> referenceConstructor(idSig) - BinarySymbolData.SymbolKind.ENUM_ENTRY_SYMBOL -> referenceEnumEntry(idSig) - BinarySymbolData.SymbolKind.STANDALONE_FIELD_SYMBOL, BinarySymbolData.SymbolKind.FIELD_SYMBOL - -> referenceField(idSig) - BinarySymbolData.SymbolKind.FUNCTION_SYMBOL -> referenceSimpleFunction(idSig) - BinarySymbolData.SymbolKind.TYPEALIAS_SYMBOL -> referenceTypeAlias(idSig) - BinarySymbolData.SymbolKind.PROPERTY_SYMBOL -> referenceProperty(idSig) - BinarySymbolData.SymbolKind.TYPE_PARAMETER_SYMBOL -> referenceTypeParameter(idSig) - else -> error("Unexpected classifier symbol kind: $symbolKind for signature $idSig") - } + return when (symbolKind) { + BinarySymbolData.SymbolKind.CLASS_SYMBOL -> referenceClass(idSig) + BinarySymbolData.SymbolKind.CONSTRUCTOR_SYMBOL -> referenceConstructor(idSig) + BinarySymbolData.SymbolKind.ENUM_ENTRY_SYMBOL -> referenceEnumEntry(idSig) + BinarySymbolData.SymbolKind.STANDALONE_FIELD_SYMBOL, BinarySymbolData.SymbolKind.FIELD_SYMBOL + -> referenceField(idSig) + BinarySymbolData.SymbolKind.FUNCTION_SYMBOL -> referenceSimpleFunction(idSig) + BinarySymbolData.SymbolKind.TYPEALIAS_SYMBOL -> referenceTypeAlias(idSig) + BinarySymbolData.SymbolKind.PROPERTY_SYMBOL -> referenceProperty(idSig) + BinarySymbolData.SymbolKind.TYPE_PARAMETER_SYMBOL -> referenceTypeParameter(idSig) + else -> error("Unexpected classifier symbol kind: $symbolKind for signature $idSig") } } }