From 68e6ff614dc3a8e1ee413e8cb752713fedfb1713 Mon Sep 17 00:00:00 2001 From: Svyatoslav Scherbina Date: Thu, 4 May 2017 13:15:03 +0300 Subject: [PATCH] Fix bug in local declarations lowering IrCall doesn't provide `.shallowCopy` now, so the unreachable buggy code became reachable. --- .../kotlin/backend/common/lower/LocalDeclarationsLowering.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt index 328c68e9395..83005ae9187 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt @@ -402,13 +402,13 @@ class LocalDeclarationsLowering(val context: BackendContext) : DeclarationContai ) private fun remapTypeArguments(oldExpression: IrMemberAccessExpression, newCallee: CallableDescriptor): Map? { - val oldCallee = oldExpression.descriptor + val oldCallee = oldExpression.descriptor.original return if (oldCallee.typeParameters.isEmpty()) null else oldCallee.typeParameters.associateBy( { newCallee.typeParameters[it.index] }, - { oldExpression.getTypeArgument(it)!! } + { oldExpression.getTypeArgumentOrDefault(it) } ) }