diff --git a/js/js.inliner/src/org/jetbrains/k2js/inline/FunctionInlineMutator.java b/js/js.inliner/src/org/jetbrains/k2js/inline/FunctionInlineMutator.java index 7ef48222970..c9221ca3368 100644 --- a/js/js.inliner/src/org/jetbrains/k2js/inline/FunctionInlineMutator.java +++ b/js/js.inliner/src/org/jetbrains/k2js/inline/FunctionInlineMutator.java @@ -84,7 +84,10 @@ class FunctionInlineMutator { renameLocalNames(namingContext, invokedFunction); if (canBeExpression(body)) { - doDirectInline(); + resultExpr = asExpression(body); + body.getStatements().clear(); + /** JsExpression can be immutable, so need to reassign */ + resultExpr = (JsExpression) namingContext.applyRenameTo(resultExpr); } else { processReturns(); namingContext.applyRenameTo(body); @@ -116,11 +119,6 @@ class FunctionInlineMutator { } } - private void doDirectInline() { - resultExpr = asExpression(body); - body.getStatements().clear(); - } - private void doReplaceReturns(int returnCount) { JsReturn returnOnTop = ContainerUtil.findInstance(body.getStatements(), JsReturn.class); boolean hasReturnOnTopLevel = returnOnTop != null;