From 8623a699f74dd4adfe6bf404bc05161126566b74 Mon Sep 17 00:00:00 2001 From: Ilya Matveev Date: Tue, 28 Feb 2017 14:00:47 +0300 Subject: [PATCH] backend: Don't save default args in original function --- .../backend/konan/lower/DefaultArgumentStubGenerator.kt | 7 +++++++ 1 file changed, 7 insertions(+) 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 272ca500cd1..dabbd900231 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 @@ -143,6 +143,13 @@ class DefaultArgumentStubGenerator internal constructor(val context: Context): D }) } } + // Replace default argument initializers with empty composites. + functionDescriptor.valueParameters.forEach { + if (it.declaresDefaultValue()) { + irFunction.putDefault(it, IrExpressionBodyImpl(irFunction.startOffset, irFunction.endOffset, + IrCompositeImpl(irFunction.startOffset, irFunction.startOffset, it.type))) + } + } return if (functionDescriptor is ClassConstructorDescriptor) listOf(irFunction, IrConstructorImpl( startOffset = irFunction.startOffset,