IR: fix of delegating call of primary constructor with default arguments

This commit is contained in:
Vasily Levchenko
2017-02-16 11:03:49 +03:00
committed by vvlevchenko
parent 00dccf6175
commit 32a988df17
@@ -193,16 +193,17 @@ class DefaultParameterInjector internal constructor(val context: Context): BodyL
val argumentsCount = argumentCount(expression)
if (argumentsCount == descriptor.valueParameters.size)
return expression
val (desc, params) = parametersForCall(expression)
val (descriptorForCall, params) = parametersForCall(expression)
return IrDelegatingConstructorCallImpl(
startOffset = expression.startOffset,
endOffset = expression.endOffset,
descriptor = desc as ClassConstructorDescriptor)
descriptor = descriptorForCall as ClassConstructorDescriptor)
.apply {
params.forEach {
log("call::params@${it.first.index}/${it.first.name.asString()}: ${ir2string(it.second)}")
putValueArgument(it.first.index, it.second)
}
dispatchReceiver = expression.dispatchReceiver
}
}