IR: remove deprecated constructor of IrConstructorImpl

This commit is contained in:
Alexander Udalov
2020-07-06 23:20:50 +02:00
parent ef94716af5
commit e6993e1b88
3 changed files with 15 additions and 30 deletions
@@ -251,15 +251,13 @@ class FunctionGenerator(declarationGenerator: DeclarationGenerator) : Declaratio
val startOffset = ktConstructorElement.getStartOffsetOfConstructorDeclarationKeywordOrNull() ?: ktConstructorElement.pureStartOffset
val endOffset = ktConstructorElement.pureEndOffset
val origin = IrDeclarationOrigin.DEFINED
return context.symbolTable.declareConstructor(
constructorDescriptor
) {
IrConstructorImpl(
startOffset, endOffset, origin, it,
returnType = IrUninitializedType,
descriptor = constructorDescriptor,
name = context.symbolTable.nameProvider.nameForDeclaration(constructorDescriptor),
).apply {
return context.symbolTable.declareConstructor(constructorDescriptor) {
with(constructorDescriptor) {
IrConstructorImpl(
startOffset, endOffset, origin, it, context.symbolTable.nameProvider.nameForDeclaration(this),
visibility, IrUninitializedType, isInline, isEffectivelyExternal(), isPrimary, isExpect
)
}.apply {
metadata = MetadataSource.Function(it.descriptor)
}
}.buildWithScope { irConstructor ->
@@ -155,7 +155,12 @@ class StandaloneDeclarationGenerator(private val context: GeneratorContext) {
startOffset: Int, endOffset: Int, origin: IrDeclarationOrigin, descriptor: ClassConstructorDescriptor, symbol: IrConstructorSymbol,
defaultArgumentFactory: IrFunction.(IrValueParameter) -> IrExpressionBody? = { null }
): IrConstructor {
val irConstructor = IrConstructorImpl(startOffset, endOffset, origin, symbol, IrUninitializedType, descriptor)
val irConstructor = with(descriptor) {
IrConstructorImpl(
startOffset, endOffset, origin, symbol, name, visibility, IrUninitializedType, isInline,
isEffectivelyExternal(), isPrimary, isExpect
)
}
irConstructor.metadata = MetadataSource.Function(descriptor)
symbolTable.withScope(irConstructor) {
@@ -19,13 +19,13 @@ package org.jetbrains.kotlin.ir.declarations.impl
import org.jetbrains.kotlin.descriptors.ClassConstructorDescriptor
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.declarations.IrConstructor
import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
import org.jetbrains.kotlin.ir.declarations.impl.carriers.ConstructorCarrier
import org.jetbrains.kotlin.ir.symbols.IrConstructorSymbol
import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.descriptorUtil.isEffectivelyExternal
class IrConstructorImpl(
startOffset: Int,
@@ -49,24 +49,6 @@ class IrConstructorImpl(
IrConstructor,
ConstructorCarrier {
constructor(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrConstructorSymbol,
returnType: IrType,
descriptor: ClassConstructorDescriptor,
name: Name = descriptor.name
) : this(
startOffset, endOffset, origin, symbol,
name = name, visibility = descriptor.visibility,
returnType = returnType,
isInline = descriptor.isInline,
isExternal = descriptor.isEffectivelyExternal(),
isPrimary = descriptor.isPrimary,
isExpect = descriptor.isExpect
)
init {
symbol.bind(this)
}