From fb475775c990acc31c8b56d62f413d7f880f4a3f Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Thu, 2 Oct 2014 15:41:42 +0400 Subject: [PATCH] JS inline minor: inlined doDirectInline() --- .../jetbrains/k2js/inline/FunctionInlineMutator.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) 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;