[IR] Unbind construction methods of IrTypeParameterImpl from symbol.descriptor

This commit is contained in:
Mikhail Glukhikh
2020-05-19 15:31:28 +03:00
parent 3f09bb40c0
commit 58ef59074d
2 changed files with 13 additions and 19 deletions
@@ -34,33 +34,27 @@ class IrTypeParameterImpl(
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
override val symbol: IrTypeParameterSymbol, override val symbol: IrTypeParameterSymbol,
override val name: Name = symbol.descriptor.name, override val name: Name,
override val index: Int = symbol.descriptor.index, override val index: Int,
override val isReified: Boolean = symbol.descriptor.isReified, override val isReified: Boolean,
override val variance: Variance = symbol.descriptor.variance override val variance: Variance
) : ) :
IrDeclarationBase<TypeParameterCarrier>(startOffset, endOffset, origin), IrDeclarationBase<TypeParameterCarrier>(startOffset, endOffset, origin),
IrTypeParameter, IrTypeParameter,
TypeParameterCarrier { TypeParameterCarrier {
constructor(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrTypeParameterSymbol,
name: Name,
index: Int,
variance: Variance
) : this(startOffset, endOffset, origin, symbol, name, index, symbol.descriptor.isReified, variance)
@Deprecated("Use constructor which takes symbol instead of descriptor") @Deprecated("Use constructor which takes symbol instead of descriptor")
constructor( constructor(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
descriptor: TypeParameterDescriptor descriptor: TypeParameterDescriptor,
) : name: Name = descriptor.name,
this(startOffset, endOffset, origin, IrTypeParameterSymbolImpl(descriptor)) symbol: IrTypeParameterSymbol = IrTypeParameterSymbolImpl(descriptor)
) : this(
startOffset, endOffset, origin, symbol, name,
index = descriptor.index, isReified = descriptor.isReified, variance = descriptor.variance
)
init { init {
symbol.bind(this) symbol.bind(this)
@@ -747,7 +747,7 @@ open class SymbolTable(
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
descriptor: TypeParameterDescriptor, descriptor: TypeParameterDescriptor,
typeParameterFactory: (IrTypeParameterSymbol) -> IrTypeParameter = { typeParameterFactory: (IrTypeParameterSymbol) -> IrTypeParameter = {
IrTypeParameterImpl(startOffset, endOffset, origin, it, nameProvider.nameForDeclaration(descriptor)) IrTypeParameterImpl(startOffset, endOffset, origin, descriptor, nameProvider.nameForDeclaration(descriptor), it)
} }
): IrTypeParameter = ): IrTypeParameter =
globalTypeParameterSymbolTable.declare( globalTypeParameterSymbolTable.declare(
@@ -771,7 +771,7 @@ open class SymbolTable(
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
descriptor: TypeParameterDescriptor, descriptor: TypeParameterDescriptor,
typeParameterFactory: (IrTypeParameterSymbol) -> IrTypeParameter = { typeParameterFactory: (IrTypeParameterSymbol) -> IrTypeParameter = {
IrTypeParameterImpl(startOffset, endOffset, origin, it, nameProvider.nameForDeclaration(descriptor)) IrTypeParameterImpl(startOffset, endOffset, origin, descriptor, nameProvider.nameForDeclaration(descriptor), it)
} }
): IrTypeParameter = ): IrTypeParameter =
scopedTypeParameterSymbolTable.declare( scopedTypeParameterSymbolTable.declare(