From 3f91674090eee97dc543191cfadc1f0104422400 Mon Sep 17 00:00:00 2001 From: Georgy Bronnikov Date: Wed, 1 Dec 2021 16:18:41 +0300 Subject: [PATCH] IR: inline and remove ...FromLinker methods from SymbolTable --- .../jetbrains/kotlin/ir/util/SymbolTable.kt | 9 --------- .../backend/common/overrides/FakeOverrides.kt | 4 ++-- .../serialization/IrSymbolDeserializer.kt | 18 +++++++++--------- .../konan/serialization/KonanIrlinker.kt | 2 +- 4 files changed, 12 insertions(+), 21 deletions(-) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt index 712a1283cd6..5939f7837e6 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt @@ -53,15 +53,6 @@ interface ReferenceSymbolTable { fun referenceTypeAlias(descriptor: TypeAliasDescriptor): IrTypeAliasSymbol fun referenceTypeAlias(sig: IdSignature, reg: Boolean = true): IrTypeAliasSymbol - fun referenceClassFromLinker(sig: IdSignature) = referenceClass(sig, false) - fun referenceConstructorFromLinker(sig: IdSignature) = referenceConstructor(sig, false) - fun referenceEnumEntryFromLinker(sig: IdSignature) = referenceEnumEntry(sig, false) - fun referenceFieldFromLinker(sig: IdSignature) = referenceField(sig, false) - fun referencePropertyFromLinker(sig: IdSignature) = referenceProperty(sig, false) - fun referenceSimpleFunctionFromLinker(sig: IdSignature) = referenceSimpleFunction(sig, false) - fun referenceGlobalTypeParameterFromLinker(sig: IdSignature) = referenceTypeParameter(sig, false) - fun referenceTypeAliasFromLinker(sig: IdSignature) = referenceTypeAlias(sig, false) - fun enterScope(owner: IrSymbol) fun enterScope(owner: IrDeclaration) diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/overrides/FakeOverrides.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/overrides/FakeOverrides.kt index 88a95036827..0cc70e3a26a 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/overrides/FakeOverrides.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/overrides/FakeOverrides.kt @@ -151,7 +151,7 @@ class FakeOverrideBuilder( private fun declareFunctionFakeOverride(declaration: IrFakeOverrideFunction, signature: IdSignature) { val parent = declaration.parentAsClass val symbol = linker.tryReferencingSimpleFunctionByLocalSignature(parent, signature) - ?: symbolTable.referenceSimpleFunctionFromLinker(signature) + ?: symbolTable.referenceSimpleFunction(signature, false) symbolTable.declareSimpleFunction(signature, { symbol }) { assert(it === symbol) declaration.acquireSymbol(it) @@ -161,7 +161,7 @@ class FakeOverrideBuilder( private fun declarePropertyFakeOverride(declaration: IrFakeOverrideProperty, signature: IdSignature) { val parent = declaration.parentAsClass val symbol = linker.tryReferencingPropertyByLocalSignature(parent, signature) - ?: symbolTable.referencePropertyFromLinker(signature) + ?: symbolTable.referenceProperty(signature, false) symbolTable.declareProperty(signature, { symbol }) { assert(it === symbol) declaration.acquireSymbol(it) diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrSymbolDeserializer.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrSymbolDeserializer.kt index 0410179d610..1527f7449cb 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrSymbolDeserializer.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrSymbolDeserializer.kt @@ -100,15 +100,15 @@ internal fun referenceDeserializedSymbol( ): IrSymbol = symbolTable.run { when (symbolKind) { BinarySymbolData.SymbolKind.ANONYMOUS_INIT_SYMBOL -> IrAnonymousInitializerSymbolImpl() - BinarySymbolData.SymbolKind.CLASS_SYMBOL -> referenceClassFromLinker(idSig) - BinarySymbolData.SymbolKind.CONSTRUCTOR_SYMBOL -> referenceConstructorFromLinker(idSig) - BinarySymbolData.SymbolKind.TYPE_PARAMETER_SYMBOL -> referenceGlobalTypeParameterFromLinker(idSig) - BinarySymbolData.SymbolKind.ENUM_ENTRY_SYMBOL -> referenceEnumEntryFromLinker(idSig) - BinarySymbolData.SymbolKind.STANDALONE_FIELD_SYMBOL -> referenceFieldFromLinker(idSig) - BinarySymbolData.SymbolKind.FIELD_SYMBOL -> referenceFieldFromLinker(idSig) - BinarySymbolData.SymbolKind.FUNCTION_SYMBOL -> referenceSimpleFunctionFromLinker(idSig) - BinarySymbolData.SymbolKind.TYPEALIAS_SYMBOL -> referenceTypeAliasFromLinker(idSig) - BinarySymbolData.SymbolKind.PROPERTY_SYMBOL -> referencePropertyFromLinker(idSig) + BinarySymbolData.SymbolKind.CLASS_SYMBOL -> referenceClass(idSig, false) + BinarySymbolData.SymbolKind.CONSTRUCTOR_SYMBOL -> referenceConstructor(idSig, false) + BinarySymbolData.SymbolKind.TYPE_PARAMETER_SYMBOL -> referenceTypeParameter(idSig, false) + BinarySymbolData.SymbolKind.ENUM_ENTRY_SYMBOL -> referenceEnumEntry(idSig, false) + BinarySymbolData.SymbolKind.STANDALONE_FIELD_SYMBOL -> referenceField(idSig, false) + BinarySymbolData.SymbolKind.FIELD_SYMBOL -> referenceField(idSig, false) + BinarySymbolData.SymbolKind.FUNCTION_SYMBOL -> referenceSimpleFunction(idSig, false) + BinarySymbolData.SymbolKind.TYPEALIAS_SYMBOL -> referenceTypeAlias(idSig, false) + BinarySymbolData.SymbolKind.PROPERTY_SYMBOL -> referenceProperty(idSig, false) BinarySymbolData.SymbolKind.VARIABLE_SYMBOL -> IrVariableSymbolImpl() BinarySymbolData.SymbolKind.VALUE_PARAMETER_SYMBOL -> IrValueParameterSymbolImpl() BinarySymbolData.SymbolKind.RECEIVER_PARAMETER_SYMBOL -> IrValueParameterSymbolImpl() diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanIrlinker.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanIrlinker.kt index 5ec53839a25..6bcf4e97b23 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanIrlinker.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanIrlinker.kt @@ -890,7 +890,7 @@ internal class KonanIrLinker( if (actualModule !== moduleDescriptor) { val moduleDeserializer = resolveModuleDeserializer(actualModule, idSig) moduleDeserializer.addModuleReachableTopLevel(idSig) - return symbolTable.referenceClassFromLinker(idSig) + return symbolTable.referenceClass(idSig, false) } return declaredDeclaration.getOrPut(idSig) { buildForwardDeclarationStub(descriptor) }.symbol