From f08bd7aa6f7279d280b5d7054fef79c057261814 Mon Sep 17 00:00:00 2001 From: Svyatoslav Scherbina Date: Wed, 11 Jan 2017 13:36:10 +0700 Subject: [PATCH] backend: erase types in callable reference targets (required because function types are not specialized yet) --- .../kotlin/backend/konan/lower/CallableReferenceLowering.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/CallableReferenceLowering.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/CallableReferenceLowering.kt index 43ab3009303..11f3bd88bf2 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/CallableReferenceLowering.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/CallableReferenceLowering.kt @@ -201,7 +201,7 @@ private class CallableReferencesUnbinder(val lower: CallableReferenceLowering, index = index + 1, annotations = Annotations.EMPTY, name = param.name, - outType = param.type, + outType = builtIns.nullableAnyType, // Use erased type. declaresDefaultValue = false, isCrossinline = false, isNoinline = false, varargElementType = (param as? ValueParameterDescriptor)?.varargElementType, @@ -223,8 +223,10 @@ private class CallableReferencesUnbinder(val lower: CallableReferenceLowering, val newValueParameters = listOf(functionParameter) + newUnboundParams + val newReturnType = builtIns.nullableAnyType // Use erased type. + newDescriptor.initialize(null, null, descriptor.typeParameters, newValueParameters, - descriptor.returnType, Modality.FINAL, Visibilities.PRIVATE) + newReturnType, Modality.FINAL, Visibilities.PRIVATE) return newDescriptor }