diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrPluginContextImpl.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrPluginContextImpl.kt index add53ebf7d1..f6114e8ac0d 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrPluginContextImpl.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrPluginContextImpl.kt @@ -111,7 +111,7 @@ open class IrPluginContextImpl constructor( return resolveSymbol(fqName.parent()) { scope -> val classDescriptor = scope.getContributedClassifier(fqName.shortName(), NoLookupLocation.FROM_BACKEND) as? ClassDescriptor? classDescriptor?.let { - st.referenceClass(it) + st.descriptorExtension.referenceClass(it) } } } @@ -122,7 +122,7 @@ open class IrPluginContextImpl constructor( return resolveSymbol(fqName.parent()) { scope -> val aliasDescriptor = scope.getContributedClassifier(fqName.shortName(), NoLookupLocation.FROM_BACKEND) as? TypeAliasDescriptor? aliasDescriptor?.let { - st.referenceTypeAlias(it) + st.descriptorExtension.referenceTypeAlias(it) } } } @@ -138,7 +138,7 @@ open class IrPluginContextImpl constructor( assert(!fqName.isRoot) return resolveSymbolCollection(fqName.parent()) { scope -> val descriptors = scope.getContributedFunctions(fqName.shortName(), NoLookupLocation.FROM_BACKEND) - descriptors.map { st.referenceSimpleFunction(it) } + descriptors.map { st.descriptorExtension.referenceSimpleFunction(it) } } } @@ -147,7 +147,7 @@ open class IrPluginContextImpl constructor( assert(!fqName.isRoot) return resolveSymbolCollection(fqName.parent()) { scope -> val descriptors = scope.getContributedVariables(fqName.shortName(), NoLookupLocation.FROM_BACKEND) - descriptors.map { st.referenceProperty(it) } + descriptors.map { st.descriptorExtension.referenceProperty(it) } } } diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/ExpectDeclarationRemover.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/ExpectDeclarationRemover.kt index 352adff2eed..f52cc4d50d6 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/ExpectDeclarationRemover.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/ExpectDeclarationRemover.kt @@ -64,28 +64,28 @@ open class ExpectDeclarationRemover(val symbolTable: ReferenceSymbolTable, priva } override fun getActualClass(descriptor: ClassDescriptor): IrClassSymbol? { - return symbolTable.referenceClass( + return symbolTable.descriptorExtension.referenceClass( descriptor.findActualForExpect() as? ClassDescriptor ?: return null ) } override fun getActualProperty(descriptor: PropertyDescriptor): ActualPropertyResult? { - val newSymbol = symbolTable.referenceProperty( + val newSymbol = symbolTable.descriptorExtension.referenceProperty( descriptor.findActualForExpect() as? PropertyDescriptor ?: return null ) - val newGetter = newSymbol.descriptor.getter?.let { symbolTable.referenceSimpleFunction(it) } - val newSetter = newSymbol.descriptor.setter?.let { symbolTable.referenceSimpleFunction(it) } + val newGetter = newSymbol.descriptor.getter?.let { symbolTable.descriptorExtension.referenceSimpleFunction(it) } + val newSetter = newSymbol.descriptor.setter?.let { symbolTable.descriptorExtension.referenceSimpleFunction(it) } return ActualPropertyResult(newSymbol, newGetter, newSetter) } override fun getActualConstructor(descriptor: ClassConstructorDescriptor): IrConstructorSymbol? { - return symbolTable.referenceConstructor( + return symbolTable.descriptorExtension.referenceConstructor( descriptor.findActualForExpect() as? ClassConstructorDescriptor ?: return null ) } override fun getActualFunction(descriptor: FunctionDescriptor): IrSimpleFunctionSymbol? { - return symbolTable.referenceSimpleFunction( + return symbolTable.descriptorExtension.referenceSimpleFunction( descriptor.findActualForExpect() as? FunctionDescriptor ?: return null ) } @@ -173,7 +173,7 @@ open class ExpectDeclarationRemover(val symbolTable: ReferenceSymbolTable, priva override fun visitGetValue(expression: IrGetValue): IrExpression { expression.transformChildrenVoid() return expression.actualize( - classActualizer = { symbolTable.referenceClass(it.descriptor.findActualForExpect() as ClassDescriptor).owner }, + classActualizer = { symbolTable.descriptorExtension.referenceClass(it.descriptor.findActualForExpect() as ClassDescriptor).owner }, functionActualizer = { symbolTable.referenceFunction(it.descriptor.findActualForExpect() as FunctionDescriptor).owner } ) } diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/DataClassMembersGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/DataClassMembersGenerator.kt index ddbf33fc77e..87aeb2779e0 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/DataClassMembersGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/DataClassMembersGenerator.kt @@ -139,7 +139,7 @@ internal class DataClassMembersGenerator( var substituted: CallableDescriptor? = null val symbol = getHashCodeFunction(type.toKotlinType()) { hashCodeDescriptor -> substituted = hashCodeDescriptor - symbolTable.referenceSimpleFunction(hashCodeDescriptor.original) + symbolTable.descriptorExtension.referenceSimpleFunction(hashCodeDescriptor.original) } return Psi2IrHashCodeFunctionInfo(symbol, substituted ?: symbol.descriptor) } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazySymbolTable.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazySymbolTable.kt index c953418858b..be9ddb31e67 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazySymbolTable.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazySymbolTable.kt @@ -21,7 +21,7 @@ class IrLazySymbolTable(private val originalTable: SymbolTable) : ReferenceSymbo /*Don't force builtins class linking before unbound symbols linking: otherwise stdlib compilation will failed*/ var stubGenerator: DeclarationStubGenerator? = null - override fun referenceClass(descriptor: ClassDescriptor): IrClassSymbol { + fun referenceClass(descriptor: ClassDescriptor): IrClassSymbol { synchronized(lock) { return originalTable.referenceClass(descriptor).also { if (!it.isBound) { @@ -31,7 +31,7 @@ class IrLazySymbolTable(private val originalTable: SymbolTable) : ReferenceSymbo } } - override fun referenceTypeAlias(descriptor: TypeAliasDescriptor): IrTypeAliasSymbol { + fun referenceTypeAlias(descriptor: TypeAliasDescriptor): IrTypeAliasSymbol { synchronized(lock) { return originalTable.referenceTypeAlias(descriptor).also { if (!it.isBound) { @@ -41,7 +41,7 @@ class IrLazySymbolTable(private val originalTable: SymbolTable) : ReferenceSymbo } } - override fun referenceConstructor(descriptor: ClassConstructorDescriptor): IrConstructorSymbol { + fun referenceConstructor(descriptor: ClassConstructorDescriptor): IrConstructorSymbol { synchronized(lock) { return originalTable.referenceConstructor(descriptor).also { if (!it.isBound) { @@ -51,7 +51,7 @@ class IrLazySymbolTable(private val originalTable: SymbolTable) : ReferenceSymbo } } - override fun referenceEnumEntry(descriptor: ClassDescriptor): IrEnumEntrySymbol { + fun referenceEnumEntry(descriptor: ClassDescriptor): IrEnumEntrySymbol { synchronized(lock) { return originalTable.referenceEnumEntry(descriptor).also { if (!it.isBound) { @@ -61,7 +61,7 @@ class IrLazySymbolTable(private val originalTable: SymbolTable) : ReferenceSymbo } } - override fun referenceSimpleFunction(descriptor: FunctionDescriptor): IrSimpleFunctionSymbol { + fun referenceSimpleFunction(descriptor: FunctionDescriptor): IrSimpleFunctionSymbol { synchronized(lock) { return originalTable.referenceSimpleFunction(descriptor).also { if (!it.isBound) { @@ -71,7 +71,7 @@ class IrLazySymbolTable(private val originalTable: SymbolTable) : ReferenceSymbo } } - override fun referenceProperty(descriptor: PropertyDescriptor): IrPropertySymbol { + fun referenceProperty(descriptor: PropertyDescriptor): IrPropertySymbol { synchronized(lock) { return originalTable.referenceProperty(descriptor).also { if (!it.isBound) { @@ -81,7 +81,7 @@ class IrLazySymbolTable(private val originalTable: SymbolTable) : ReferenceSymbo } } - override fun referenceTypeParameter(classifier: TypeParameterDescriptor): IrTypeParameterSymbol { + fun referenceTypeParameter(classifier: TypeParameterDescriptor): IrTypeParameterSymbol { synchronized(lock) { return originalTable.referenceTypeParameter(classifier).also { if (!it.isBound) { diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ConstantValueGenerator.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ConstantValueGenerator.kt index 4edce16dc8f..d083e92bd42 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ConstantValueGenerator.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ConstantValueGenerator.kt @@ -133,7 +133,7 @@ abstract class ConstantValueGenerator( else -> IrGetEnumValueImpl( startOffset, endOffset, constantType, - symbolTable.referenceEnumEntry(enumEntryDescriptor) + symbolTable.descriptorExtension.referenceEnumEntry(enumEntryDescriptor) ) } } @@ -178,7 +178,7 @@ abstract class ConstantValueGenerator( val primaryConstructorDescriptor = annotationClassDescriptor.unsubstitutedPrimaryConstructor ?: annotationClassDescriptor.constructors.singleOrNull() ?: throw AssertionError("No constructor for annotation class $annotationClassDescriptor") - val primaryConstructorSymbol = symbolTable.referenceConstructor(primaryConstructorDescriptor) + val primaryConstructorSymbol = symbolTable.descriptorExtension.referenceConstructor(primaryConstructorDescriptor) val (startOffset, endOffset) = extractAnnotationOffsets(annotationDescriptor) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DescriptorSymbolTableExtension.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DescriptorSymbolTableExtension.kt index de732e579fd..814fbed06f4 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DescriptorSymbolTableExtension.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DescriptorSymbolTableExtension.kt @@ -23,7 +23,7 @@ import org.jetbrains.kotlin.utils.threadLocal @ObsoleteDescriptorBasedAPI typealias DescriptorBasedReferenceSymbolTableExtension = ReferenceSymbolTableExtension< ClassDescriptor, TypeAliasDescriptor, ScriptDescriptor, FunctionDescriptor, ClassConstructorDescriptor, - PropertyDescriptor, ValueParameterDescriptor, TypeParameterDescriptor + PropertyDescriptor, ParameterDescriptor, TypeParameterDescriptor > @ObsoleteDescriptorBasedAPI diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt index c8a51e1f1cf..f5337c11cf4 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt @@ -390,11 +390,11 @@ fun IrValueParameter.hasDefaultValue(): Boolean = DFS.ifAny( fun ReferenceSymbolTable.referenceClassifier(classifier: ClassifierDescriptor): IrClassifierSymbol = when (classifier) { is TypeParameterDescriptor -> - referenceTypeParameter(classifier) + descriptorExtension.referenceTypeParameter(classifier) is ScriptDescriptor -> - referenceScript(classifier) + descriptorExtension.referenceScript(classifier) is ClassDescriptor -> - referenceClass(classifier) + descriptorExtension.referenceClass(classifier) else -> throw IllegalArgumentException("Unexpected classifier descriptor: $classifier") } @@ -403,9 +403,9 @@ fun ReferenceSymbolTable.referenceClassifier(classifier: ClassifierDescriptor): fun ReferenceSymbolTable.referenceFunction(callable: CallableDescriptor): IrFunctionSymbol = when (callable) { is ClassConstructorDescriptor -> - referenceConstructor(callable) + descriptorExtension.referenceConstructor(callable) is FunctionDescriptor -> - referenceSimpleFunction(callable) + descriptorExtension.referenceSimpleFunction(callable) else -> throw IllegalArgumentException("Unexpected callable descriptor: $callable") } @@ -1435,4 +1435,4 @@ fun IrAttributeContainer.extractRelatedDeclaration(): IrDeclaration? { inline fun IrSymbol.unexpectedSymbolKind(): Nothing { throw IllegalArgumentException("Unexpected kind of ${Symbol::class.java.typeName}: $this") -} \ No newline at end of file +} diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ReferenceSymbolTable.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ReferenceSymbolTable.kt index d455b2ec5fa..d69e4f1b47c 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ReferenceSymbolTable.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ReferenceSymbolTable.kt @@ -5,54 +5,21 @@ package org.jetbrains.kotlin.ir.util -import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.declarations.IrDeclaration import org.jetbrains.kotlin.ir.symbols.* interface ReferenceSymbolTable { @ObsoleteDescriptorBasedAPI - fun referenceClass(descriptor: ClassDescriptor): IrClassSymbol + val descriptorExtension: DescriptorBasedReferenceSymbolTableExtension + fun referenceClass(signature: IdSignature): IrClassSymbol - - @ObsoleteDescriptorBasedAPI - fun referenceScript(descriptor: ScriptDescriptor): IrScriptSymbol - - @ObsoleteDescriptorBasedAPI - fun referenceConstructor(descriptor: ClassConstructorDescriptor): IrConstructorSymbol fun referenceConstructor(signature: IdSignature): IrConstructorSymbol - - @ObsoleteDescriptorBasedAPI - fun referenceEnumEntry(descriptor: ClassDescriptor): IrEnumEntrySymbol fun referenceEnumEntry(signature: IdSignature): IrEnumEntrySymbol - - @ObsoleteDescriptorBasedAPI - fun referenceField(descriptor: PropertyDescriptor): IrFieldSymbol fun referenceField(signature: IdSignature): IrFieldSymbol - - @ObsoleteDescriptorBasedAPI - fun referenceProperty(descriptor: PropertyDescriptor): IrPropertySymbol fun referenceProperty(signature: IdSignature): IrPropertySymbol - - @ObsoleteDescriptorBasedAPI - fun referenceSimpleFunction(descriptor: FunctionDescriptor): IrSimpleFunctionSymbol fun referenceSimpleFunction(signature: IdSignature): IrSimpleFunctionSymbol - - @ObsoleteDescriptorBasedAPI - fun referenceDeclaredFunction(descriptor: FunctionDescriptor): IrSimpleFunctionSymbol - - @ObsoleteDescriptorBasedAPI - fun referenceValueParameter(descriptor: ParameterDescriptor): IrValueParameterSymbol - - @ObsoleteDescriptorBasedAPI - fun referenceTypeParameter(classifier: TypeParameterDescriptor): IrTypeParameterSymbol fun referenceTypeParameter(signature: IdSignature): IrTypeParameterSymbol - - @ObsoleteDescriptorBasedAPI - fun referenceScopedTypeParameter(classifier: TypeParameterDescriptor): IrTypeParameterSymbol - - @ObsoleteDescriptorBasedAPI - fun referenceTypeAlias(descriptor: TypeAliasDescriptor): IrTypeAliasSymbol fun referenceTypeAlias(signature: IdSignature): IrTypeAliasSymbol fun enterScope(symbol: IrSymbol) 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 a1bbf0d30f2..ed13219fb47 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 @@ -39,7 +39,7 @@ open class SymbolTable( @Suppress("LeakingThis") @OptIn(ObsoleteDescriptorBasedAPI::class) - val descriptorExtension: DescriptorSymbolTableExtension = DescriptorSymbolTableExtension(this) + override val descriptorExtension: DescriptorSymbolTableExtension = DescriptorSymbolTableExtension(this) // ------------------------------------ script ------------------------------------ @@ -489,7 +489,7 @@ open class SymbolTable( // ------------------------------------ descriptors ------------------------------------ @ObsoleteDescriptorBasedAPI - override fun referenceScript(descriptor: ScriptDescriptor): IrScriptSymbol { + fun referenceScript(descriptor: ScriptDescriptor): IrScriptSymbol { return descriptorExtension.referenceScript(descriptor) } @@ -546,7 +546,7 @@ open class SymbolTable( } @ObsoleteDescriptorBasedAPI - override fun referenceClass(descriptor: ClassDescriptor): IrClassSymbol { + fun referenceClass(descriptor: ClassDescriptor): IrClassSymbol { return descriptorExtension.referenceClass(descriptor) } @@ -567,7 +567,7 @@ open class SymbolTable( } @ObsoleteDescriptorBasedAPI - override fun referenceConstructor(descriptor: ClassConstructorDescriptor): IrConstructorSymbol { + fun referenceConstructor(descriptor: ClassConstructorDescriptor): IrConstructorSymbol { return descriptorExtension.referenceConstructor(descriptor) } @@ -610,7 +610,7 @@ open class SymbolTable( } @ObsoleteDescriptorBasedAPI - override fun referenceEnumEntry(descriptor: ClassDescriptor): IrEnumEntrySymbol { + fun referenceEnumEntry(descriptor: ClassDescriptor): IrEnumEntrySymbol { return descriptorExtension.referenceEnumEntry(descriptor) } @@ -640,7 +640,7 @@ open class SymbolTable( } @ObsoleteDescriptorBasedAPI - override fun referenceField(descriptor: PropertyDescriptor): IrFieldSymbol { + fun referenceField(descriptor: PropertyDescriptor): IrFieldSymbol { return descriptorExtension.referenceField(descriptor) } @@ -678,12 +678,12 @@ open class SymbolTable( } @ObsoleteDescriptorBasedAPI - override fun referenceProperty(descriptor: PropertyDescriptor): IrPropertySymbol { + fun referenceProperty(descriptor: PropertyDescriptor): IrPropertySymbol { return descriptorExtension.referenceProperty(descriptor) } @ObsoleteDescriptorBasedAPI - override fun referenceTypeAlias(descriptor: TypeAliasDescriptor): IrTypeAliasSymbol { + fun referenceTypeAlias(descriptor: TypeAliasDescriptor): IrTypeAliasSymbol { return descriptorExtension.referenceTypeAlias(descriptor) } @@ -723,12 +723,12 @@ open class SymbolTable( } @ObsoleteDescriptorBasedAPI - override fun referenceSimpleFunction(descriptor: FunctionDescriptor): IrSimpleFunctionSymbol { + fun referenceSimpleFunction(descriptor: FunctionDescriptor): IrSimpleFunctionSymbol { return descriptorExtension.referenceSimpleFunction(descriptor) } @ObsoleteDescriptorBasedAPI - override fun referenceDeclaredFunction(descriptor: FunctionDescriptor): IrSimpleFunctionSymbol { + fun referenceDeclaredFunction(descriptor: FunctionDescriptor): IrSimpleFunctionSymbol { return descriptorExtension.referenceDeclaredFunction(descriptor) } @@ -791,17 +791,17 @@ open class SymbolTable( } @ObsoleteDescriptorBasedAPI - override fun referenceValueParameter(descriptor: ParameterDescriptor): IrValueParameterSymbol { + fun referenceValueParameter(descriptor: ParameterDescriptor): IrValueParameterSymbol { return descriptorExtension.referenceValueParameter(descriptor) } @ObsoleteDescriptorBasedAPI - override fun referenceTypeParameter(classifier: TypeParameterDescriptor): IrTypeParameterSymbol { + fun referenceTypeParameter(classifier: TypeParameterDescriptor): IrTypeParameterSymbol { return descriptorExtension.referenceTypeParameter(classifier) } @ObsoleteDescriptorBasedAPI - override fun referenceScopedTypeParameter(classifier: TypeParameterDescriptor): IrTypeParameterSymbol { + fun referenceScopedTypeParameter(classifier: TypeParameterDescriptor): IrTypeParameterSymbol { return descriptorExtension.referenceScopedTypeParameter(classifier) } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/TypeTranslator.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/TypeTranslator.kt index d9877371b5e..487402fce85 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/TypeTranslator.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/TypeTranslator.kt @@ -84,7 +84,7 @@ abstract class TypeTranslator( } val originalTypeParameter = typeParameterDescriptor.originalTypeParameter return typeParametersResolver.resolveScopedTypeParameter(originalTypeParameter) - ?: symbolTable.referenceTypeParameter(originalTypeParameter) + ?: symbolTable.descriptorExtension.referenceTypeParameter(originalTypeParameter) } fun translateType(kotlinType: KotlinType): IrType { @@ -136,7 +136,7 @@ abstract class TypeTranslator( } is ScriptDescriptor -> { - classifier = symbolTable.referenceScript(upperTypeDescriptor) + classifier = symbolTable.descriptorExtension.referenceScript(upperTypeDescriptor) } is ClassDescriptor -> { // Types such as 'java.util.Collection' are treated as @@ -154,7 +154,7 @@ abstract class TypeTranslator( lowerType.constructor.declarationDescriptor as? ClassDescriptor ?: throw AssertionError("No class descriptor for lower type $lowerType of $approximatedType") annotations = translateTypeAnnotations(upperType, approximatedType) - classifier = symbolTable.referenceClass(lowerTypeDescriptor) + classifier = symbolTable.descriptorExtension.referenceClass(lowerTypeDescriptor) arguments = when { approximatedType is RawType -> translateTypeArguments(approximatedType.arguments) @@ -186,7 +186,7 @@ abstract class TypeTranslator( if (!isTypeAliasAccessibleHere(typeAliasDescriptor)) return null return IrTypeAbbreviationImpl( - symbolTable.referenceTypeAlias(typeAliasDescriptor), + symbolTable.descriptorExtension.referenceTypeAlias(typeAliasDescriptor), isMarkedNullable, translateTypeArguments(this.arguments), translateTypeAnnotations(this) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/overrides.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/overrides.kt index 388fa6740b0..2a5dceec76f 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/overrides.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/overrides.kt @@ -55,6 +55,6 @@ fun generateOverriddenFunctionSymbols( symbolTable: ReferenceSymbolTable ) { declaration.overriddenSymbols = declaration.descriptor.overriddenDescriptors.memoryOptimizedMap { - symbolTable.referenceSimpleFunction(it.original) + symbolTable.descriptorExtension.referenceSimpleFunction(it.original) } }