diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/expression/InnerDeclarationTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/expression/InnerDeclarationTranslator.java index 518caa74661..c6c790b8bd8 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/expression/InnerDeclarationTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/expression/InnerDeclarationTranslator.java @@ -39,6 +39,7 @@ abstract class InnerDeclarationTranslator { this.fun = fun; } + @NotNull public JsExpression translate(@NotNull JsNameRef nameRef, @Nullable JsExpression self) { UsageTracker usageTracker = context.usageTracker(); assert usageTracker != null : "Usage tracker should not be null for InnerDeclarationTranslator"; @@ -72,7 +73,9 @@ abstract class InnerDeclarationTranslator { return invocation; } + @NotNull protected abstract JsExpression createExpression(@NotNull JsNameRef nameRef, @Nullable JsExpression self); + @NotNull protected abstract JsInvocation createInvocation(@NotNull JsNameRef nameRef, @Nullable JsExpression self); } diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/expression/InnerFunctionTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/expression/InnerFunctionTranslator.java index d6892bb2231..c451c2d10da 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/expression/InnerFunctionTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/expression/InnerFunctionTranslator.java @@ -43,11 +43,13 @@ class InnerFunctionTranslator extends InnerDeclarationTranslator { } @Override + @NotNull protected JsExpression createExpression(@NotNull JsNameRef nameRef, @Nullable JsExpression self) { return nameRef; } @Override + @NotNull protected JsInvocation createInvocation(@NotNull JsNameRef nameRef, @Nullable JsExpression self) { return new JsInvocation(new JsNameRef("bind", nameRef), new SmartList(self)); } diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/expression/InnerObjectTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/expression/InnerObjectTranslator.java index f6a66769cb9..579d4890c16 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/expression/InnerObjectTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/expression/InnerObjectTranslator.java @@ -30,11 +30,13 @@ class InnerObjectTranslator extends InnerDeclarationTranslator { } @Override + @NotNull protected JsExpression createExpression(@NotNull JsNameRef nameRef, @Nullable JsExpression self) { return createInvocation(nameRef, self); } @Override + @NotNull protected JsInvocation createInvocation(@NotNull JsNameRef nameRef, @Nullable JsExpression self) { JsInvocation invocation = new JsInvocation(nameRef); if (self != null) {