From c3d0fca92b833af388d8e5fe63e52174971cae20 Mon Sep 17 00:00:00 2001 From: Alexey Andreev Date: Fri, 6 May 2016 11:10:42 +0300 Subject: [PATCH] JS/Inlining: mark closure constructors as free from side effects --- .../js/translate/expression/LiteralFunctionTranslator.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/LiteralFunctionTranslator.kt b/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/LiteralFunctionTranslator.kt index 25d4d276621..d0ad2e414d5 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/LiteralFunctionTranslator.kt +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/LiteralFunctionTranslator.kt @@ -68,8 +68,8 @@ class LiteralFunctionTranslator(context: TranslationContext) : AbstractTranslato } fun JsFunction.withCapturedParameters(context: TranslationContext, invokingContext: TranslationContext, descriptor: MemberDescriptor): JsExpression { - val ref = invokingContext.define(descriptor, this) - val invocation = JsInvocation(ref) + val ref = invokingContext.define(descriptor, this).apply { sideEffects = false } + val invocation = JsInvocation(ref).apply { sideEffects = false } val invocationArguments = invocation.arguments val functionParameters = this.parameters