Update logic to $default function lowering (don't skip interface members)

This commit is contained in:
Mikhael Bogdanov
2018-05-15 10:15:19 +02:00
parent 9d36367fbd
commit e9216625f0
4 changed files with 31 additions and 38 deletions
@@ -34,35 +34,18 @@ class IrFunctionImpl(
endOffset: Int,
origin: IrDeclarationOrigin,
override val symbol: IrSimpleFunctionSymbol,
name: Name,
visibility: Visibility,
override val modality: Modality,
returnType: KotlinType,
isInline: Boolean,
isExternal: Boolean,
override val isTailrec: Boolean,
override val isSuspend: Boolean
name: Name = symbol.descriptor.name,
visibility: Visibility = symbol.descriptor.visibility,
override val modality: Modality = symbol.descriptor.modality,
returnType: KotlinType = symbol.descriptor.returnType!!,
isInline: Boolean = symbol.descriptor.isInline,
isExternal: Boolean = symbol.descriptor.isExternal,
override val isTailrec: Boolean = symbol.descriptor.isTailrec,
override val isSuspend: Boolean = symbol.descriptor.isSuspend
) :
IrFunctionBase(startOffset, endOffset, origin, name, visibility, isInline, isExternal, returnType),
IrSimpleFunction {
constructor(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrSimpleFunctionSymbol
) : this(
startOffset, endOffset, origin, symbol,
symbol.descriptor.name,
symbol.descriptor.visibility,
symbol.descriptor.modality,
symbol.descriptor.returnType!!,
symbol.descriptor.isInline,
symbol.descriptor.isExternal,
symbol.descriptor.isTailrec,
symbol.descriptor.isSuspend
)
override val descriptor: FunctionDescriptor = symbol.descriptor
override val overriddenSymbols: MutableList<IrSimpleFunctionSymbol> = SmartList()