Fix secondary constructor lowering

This commit is contained in:
Roman Artemev
2018-04-23 21:05:20 +03:00
parent 8721990a7f
commit 8bc80a9829
25 changed files with 129 additions and 236 deletions
@@ -42,13 +42,16 @@ class IrConstructorImpl(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrConstructorSymbol
symbol: IrConstructorSymbol,
body: IrBody? = null
) : this(
startOffset, endOffset, origin, symbol,
symbol.descriptor.visibility,
symbol.descriptor.returnType,
symbol.descriptor.isInline
)
) {
this.body = body
}
constructor(
startOffset: Int,
@@ -57,6 +60,7 @@ class IrConstructorImpl(
descriptor: ClassConstructorDescriptor
) : this(startOffset, endOffset, origin, IrConstructorSymbolImpl(descriptor))
@Deprecated("Let use constructor which takes symbol instead of descriptor")
constructor(
startOffset: Int,
endOffset: Int,
@@ -141,8 +141,8 @@ class IrCallImpl(
copyTypeArgumentsFrom(typeArguments)
}
constructor(startOffset: Int, endOffset: Int, symbol: IrFunctionSymbol) :
this(startOffset, endOffset, symbol, symbol.descriptor)
constructor(startOffset: Int, endOffset: Int, symbol: IrFunctionSymbol, origin: IrStatementOrigin? = null) :
this(startOffset, endOffset, symbol, symbol.descriptor, origin = origin)
override val superQualifier: ClassDescriptor? = superQualifierSymbol?.descriptor