From 6bb5d0070092a0b18ac61623a665761a39ef7cd1 Mon Sep 17 00:00:00 2001 From: Alexey Andreev Date: Wed, 12 Jul 2017 11:56:57 +0300 Subject: [PATCH] Fix inlining of default arguments in JS BE --- .../src/org/jetbrains/kotlin/js/inline/JsInliner.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/JsInliner.java b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/JsInliner.java index a147afd0485..b0dc220c932 100644 --- a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/JsInliner.java +++ b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/JsInliner.java @@ -434,6 +434,13 @@ public class JsInliner extends JsVisitorWithContextImpl { } RewriteUtilsKt.replaceNames(function, replacements); + + copiedStatements.add(new JsExpressionStatement(function)); + for (Map.Entry entry : CollectUtilsKt.collectNamedFunctions(new JsBlock(copiedStatements)).entrySet()) { + if (MetadataProperties.getStaticRef(entry.getKey()) instanceof JsFunction) { + MetadataProperties.setStaticRef(entry.getKey(), entry.getValue()); + } + } } private static boolean isSuspendWithCurrentContinuation(@Nullable DeclarationDescriptor descriptor) {