[IR] Remove descriptor-related methods from ReferenceSymbolTable
Replace them with calls to ReferenceSymbolTableExtension
This commit is contained in:
committed by
Space Team
parent
4986cb14aa
commit
b886b7488d
+4
-4
@@ -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) }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+7
-7
@@ -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 }
|
||||
)
|
||||
}
|
||||
|
||||
+1
-1
@@ -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)
|
||||
}
|
||||
|
||||
+7
-7
@@ -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) {
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
@@ -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 <reified Symbol : IrSymbol> IrSymbol.unexpectedSymbolKind(): Nothing {
|
||||
throw IllegalArgumentException("Unexpected kind of ${Symbol::class.java.typeName}: $this")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
@@ -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<? extends CharSequence>' 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)
|
||||
|
||||
@@ -55,6 +55,6 @@ fun generateOverriddenFunctionSymbols(
|
||||
symbolTable: ReferenceSymbolTable
|
||||
) {
|
||||
declaration.overriddenSymbols = declaration.descriptor.overriddenDescriptors.memoryOptimizedMap {
|
||||
symbolTable.referenceSimpleFunction(it.original)
|
||||
symbolTable.descriptorExtension.referenceSimpleFunction(it.original)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user