From 32a988df1777c350896ed1d2f2eeb16dd6b837a0 Mon Sep 17 00:00:00 2001 From: Vasily Levchenko Date: Thu, 16 Feb 2017 11:03:49 +0300 Subject: [PATCH] IR: fix of delegating call of primary constructor with default arguments --- .../backend/konan/lower/DefaultArgumentStubGenerator.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/DefaultArgumentStubGenerator.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/DefaultArgumentStubGenerator.kt index befafe270e4..dada834b48f 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/DefaultArgumentStubGenerator.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/DefaultArgumentStubGenerator.kt @@ -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 } }