diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/InlineJsTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/InlineJsTestGenerated.java index 68cc1c1c8b7..98e88c19926 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/InlineJsTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/InlineJsTestGenerated.java @@ -215,6 +215,12 @@ public class InlineJsTestGenerated extends AbstractInlineJsTest { doTest(fileName); } + @TestMetadata("iteratorOnInlineFunctionResult.kt") + public void testIteratorOnInlineFunctionResult() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inline/cases/iteratorOnInlineFunctionResult.kt"); + doTest(fileName); + } + @TestMetadata("jsCode.kt") public void testJsCode() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inline/cases/jsCode.kt"); diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/TranslationUtils.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/TranslationUtils.java index eca02225fe7..c25c72ed25f 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/TranslationUtils.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/TranslationUtils.java @@ -239,10 +239,6 @@ public final class TranslationUtils { @NotNull public static List generateInvocationArguments(@NotNull JsExpression receiver, @NotNull List arguments) { - if (arguments.isEmpty()) { - return Collections.singletonList(receiver); - } - List argumentList = new ArrayList(1 + arguments.size()); argumentList.add(receiver); argumentList.addAll(arguments); diff --git a/js/js.translator/testData/inline/cases/iteratorOnInlineFunctionResult.kt b/js/js.translator/testData/inline/cases/iteratorOnInlineFunctionResult.kt new file mode 100644 index 00000000000..811b8755ee0 --- /dev/null +++ b/js/js.translator/testData/inline/cases/iteratorOnInlineFunctionResult.kt @@ -0,0 +1,12 @@ +package foo + +inline fun bar(f: () -> Int): Array = arrayOf(f()) + +fun box(): String { + val iterator = bar { 23 }.iterator() + assertEquals(true, iterator.hasNext()) + assertEquals(23, iterator.next()) + assertEquals(false, iterator.hasNext()) + + return "OK" +} \ No newline at end of file