From fd83596c9197f32932b4cd2ccf2469693e8f053f Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Mon, 6 Jul 2020 22:32:01 +0200 Subject: [PATCH] IR: remove deprecated constructor of IrTypeParameterImpl --- .../ir/declarations/impl/IrTypeParameterImpl.kt | 16 +--------------- .../org/jetbrains/kotlin/ir/util/SymbolTable.kt | 12 ++++++++++-- .../compiler/backend/ir/GeneratorHelpers.kt | 4 +++- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrTypeParameterImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrTypeParameterImpl.kt index ce4ca3a0739..d4e9c05d083 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrTypeParameterImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrTypeParameterImpl.kt @@ -22,7 +22,6 @@ import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin import org.jetbrains.kotlin.ir.declarations.IrTypeParameter import org.jetbrains.kotlin.ir.declarations.impl.carriers.TypeParameterCarrier import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol -import org.jetbrains.kotlin.ir.symbols.impl.IrTypeParameterSymbolImpl import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.visitors.IrElementTransformer import org.jetbrains.kotlin.ir.visitors.IrElementVisitor @@ -44,19 +43,6 @@ class IrTypeParameterImpl( IrTypeParameter, TypeParameterCarrier { - @Deprecated("Use constructor which takes symbol instead of descriptor") - constructor( - startOffset: Int, - endOffset: Int, - origin: IrDeclarationOrigin, - descriptor: TypeParameterDescriptor, - name: Name = descriptor.name, - symbol: IrTypeParameterSymbol = IrTypeParameterSymbolImpl(descriptor) - ) : this( - startOffset, endOffset, origin, symbol, name, - index = descriptor.index, isReified = descriptor.isReified, variance = descriptor.variance - ) - init { symbol.bind(this) } @@ -79,4 +65,4 @@ class IrTypeParameterImpl( override fun transformChildren(transformer: IrElementTransformer, data: D) { // no children } -} \ No newline at end of file +} 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 14c8f357b68..7585c83fe34 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 @@ -826,13 +826,17 @@ open class SymbolTable( return IrTypeParameterSymbolImpl(descriptor) } + @OptIn(ObsoleteDescriptorBasedAPI::class) fun declareGlobalTypeParameter( startOffset: Int, endOffset: Int, origin: IrDeclarationOrigin, descriptor: TypeParameterDescriptor, typeParameterFactory: (IrTypeParameterSymbol) -> IrTypeParameter = { - IrTypeParameterImpl(startOffset, endOffset, origin, descriptor, nameProvider.nameForDeclaration(descriptor), it) + IrTypeParameterImpl( + startOffset, endOffset, origin, it, nameProvider.nameForDeclaration(descriptor), + it.descriptor.index, it.descriptor.isReified, it.descriptor.variance + ) } ): IrTypeParameter = globalTypeParameterSymbolTable.declare( @@ -850,13 +854,17 @@ open class SymbolTable( return globalTypeParameterSymbolTable.declare(descriptor, { IrTypeParameterSymbolImpl(descriptor) }, typeParameterFactory) } + @OptIn(ObsoleteDescriptorBasedAPI::class) fun declareScopedTypeParameter( startOffset: Int, endOffset: Int, origin: IrDeclarationOrigin, descriptor: TypeParameterDescriptor, typeParameterFactory: (IrTypeParameterSymbol) -> IrTypeParameter = { - IrTypeParameterImpl(startOffset, endOffset, origin, descriptor, nameProvider.nameForDeclaration(descriptor), it) + IrTypeParameterImpl( + startOffset, endOffset, origin, it, nameProvider.nameForDeclaration(descriptor), + it.descriptor.index, it.descriptor.isReified, it.descriptor.variance + ) } ): IrTypeParameter = scopedTypeParameterSymbolTable.declare( diff --git a/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/GeneratorHelpers.kt b/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/GeneratorHelpers.kt index c5b747980da..9c847aadcaa 100644 --- a/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/GeneratorHelpers.kt +++ b/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/GeneratorHelpers.kt @@ -16,6 +16,7 @@ import org.jetbrains.kotlin.ir.declarations.impl.* import org.jetbrains.kotlin.ir.expressions.* import org.jetbrains.kotlin.ir.expressions.impl.* import org.jetbrains.kotlin.ir.symbols.* +import org.jetbrains.kotlin.ir.symbols.impl.IrTypeParameterSymbolImpl import org.jetbrains.kotlin.ir.symbols.impl.IrValueParameterSymbolImpl import org.jetbrains.kotlin.ir.types.* import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl @@ -407,7 +408,8 @@ interface IrBuilderExtension { IrTypeParameterImpl( startOffset, endOffset, SERIALIZABLE_PLUGIN_ORIGIN, - it + IrTypeParameterSymbolImpl(it), + it.name, it.index, it.isReified, it.variance ).also { typeParameter -> typeParameter.parent = this }