From c842b9bc7336338d82e638d89430bed9102ac0b4 Mon Sep 17 00:00:00 2001 From: Svyatoslav Scherbina Date: Fri, 3 Mar 2017 15:45:29 +0700 Subject: [PATCH] backend: preserve `.isTailrec` when lowering local functions --- .../kotlin/backend/common/lower/LocalDeclarationsLowering.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 5124ed56db2..d2c48c9499b 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 @@ -444,7 +444,10 @@ class LocalDeclarationsLowering(val context: BackendContext) : DeclarationContai generateNameForLiftedDeclaration(oldDescriptor, memberOwner), CallableMemberDescriptor.Kind.SYNTHESIZED, oldDescriptor.source - ) + ).apply { + isTailrec = oldDescriptor.isTailrec + // TODO: copy other properties or consider using `FunctionDescriptor.CopyBuilder`. + } localFunctionContext.transformedDescriptor = newDescriptor transformedDescriptors[oldDescriptor] = newDescriptor