From 9ad899fb01e6aa5032d43e2ef13270a289fe6778 Mon Sep 17 00:00:00 2001 From: Vyacheslav Gerasimov Date: Fri, 14 Dec 2018 17:07:10 +0300 Subject: [PATCH] Fix splitExportedSuspendInlineFunctionDeclarations usages, argument must not be null --- .../jetbrains/kotlin/js/inline/JsInliner.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) 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 43057a1e9a4..c98d12c2f5e 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 @@ -355,9 +355,12 @@ public class JsInliner extends JsVisitorWithContextImpl { if (e instanceof JsBinaryOperation) { JsBinaryOperation binOp = (JsBinaryOperation) e; if (binOp.getOperator() == JsBinaryOperator.ASG) { - JsFunction splitSuspendInlineFunction = splitExportedSuspendInlineFunctionDeclarations(binOp.getArg2()); - if (splitSuspendInlineFunction != null) { - binOp.setArg2(splitSuspendInlineFunction); + JsExpression argument2 = binOp.getArg2(); + if (argument2 != null) { + JsFunction splitSuspendInlineFunction = splitExportedSuspendInlineFunctionDeclarations(argument2); + if (splitSuspendInlineFunction != null) { + binOp.setArg2(splitSuspendInlineFunction); + } } } } @@ -367,9 +370,12 @@ public class JsInliner extends JsVisitorWithContextImpl { @Override public void endVisit(@NotNull JsVars.JsVar x, @NotNull JsContext ctx) { - JsFunction splitSuspendInlineFunction = splitExportedSuspendInlineFunctionDeclarations(x.getInitExpression()); - if (splitSuspendInlineFunction != null) { - x.setInitExpression(splitSuspendInlineFunction); + JsExpression initExpression = x.getInitExpression(); + if (initExpression != null) { + JsFunction splitSuspendInlineFunction = splitExportedSuspendInlineFunctionDeclarations(initExpression); + if (splitSuspendInlineFunction != null) { + x.setInitExpression(splitSuspendInlineFunction); + } } }