From db86d346995402add582ed67602c7b60bdec6c3a Mon Sep 17 00:00:00 2001 From: Alexey Andreev Date: Fri, 26 Aug 2016 14:24:02 +0300 Subject: [PATCH] JS: move InlineMultiModuleTestGenerated under new test class --- .../kotlin/generators/tests/GenerateTests.kt | 2 +- .../InlineMultiModuleTestGenerated.java | 54 +++++++++---------- .../abstractClassesForGeneratedTests.kt | 3 +- .../main.kt => anotherModuleValInClosure.kt} | 17 ++++++ .../anotherModuleValInClosure/lib/lib.kt | 9 ---- .../main/main.kt => callableReference.kt} | 12 +++++ .../cases/callableReference/lib/lib.kt | 5 -- .../main/main.kt => calledByFqName.kt} | 11 ++++ .../cases/calledByFqName/lib/lib.kt | 5 -- .../main/main.kt => extensionLambda.kt} | 13 +++++ .../cases/extensionLambda/lib/lib.kt | 5 -- ...ain.kt => externalInlineCallDecomposed.kt} | 17 ++++++ .../externalInlineCallDecomposed/lib/lib.kt | 9 ---- ...main.kt => externalInlineNewDecomposed.kt} | 18 +++++++ .../externalInlineNewDecomposed/lib/lib.kt | 11 ---- .../cases/{lambda/main/main.kt => lambda.kt} | 13 +++++ .../inlineMultiModule/cases/lambda/lib/lib.kt | 5 -- .../cases/lambdaCalledInObjectLiteral.kt | 27 ++++++++++ .../lambdaCalledInObjectLiteral/lib/lib.kt | 10 ---- .../lambdaCalledInObjectLiteral/main/main.kt | 9 ---- .../main/main.kt => lambdaWithClosure.kt} | 13 +++++ .../cases/lambdaWithClosure/lib/lib.kt | 5 -- .../main/main.kt => localNameClash.kt} | 15 ++++++ .../cases/localNameClash/lib/lib.kt | 7 --- .../inlineMultiModule/cases/method.kt | 25 +++++++++ .../inlineMultiModule/cases/method/lib/lib.kt | 6 --- .../cases/method/main/main.kt | 11 ---- .../main.kt => parameterWithDefaultValue.kt} | 11 ++++ .../parameterWithDefaultValue/lib/lib.kt | 3 -- .../cases/{simple/main/main.kt => simple.kt} | 13 +++++ .../inlineMultiModule/cases/simple/lib/lib.kt | 5 -- .../inlineMultiModule/dependencies.txt | 2 - 32 files changed, 234 insertions(+), 137 deletions(-) rename js/js.translator/testData/inlineMultiModule/cases/{anotherModuleValInClosure/main/main.kt => anotherModuleValInClosure.kt} (52%) delete mode 100644 js/js.translator/testData/inlineMultiModule/cases/anotherModuleValInClosure/lib/lib.kt rename js/js.translator/testData/inlineMultiModule/cases/{callableReference/main/main.kt => callableReference.kt} (58%) delete mode 100644 js/js.translator/testData/inlineMultiModule/cases/callableReference/lib/lib.kt rename js/js.translator/testData/inlineMultiModule/cases/{calledByFqName/main/main.kt => calledByFqName.kt} (57%) delete mode 100644 js/js.translator/testData/inlineMultiModule/cases/calledByFqName/lib/lib.kt rename js/js.translator/testData/inlineMultiModule/cases/{extensionLambda/main/main.kt => extensionLambda.kt} (57%) delete mode 100644 js/js.translator/testData/inlineMultiModule/cases/extensionLambda/lib/lib.kt rename js/js.translator/testData/inlineMultiModule/cases/{externalInlineCallDecomposed/main/main.kt => externalInlineCallDecomposed.kt} (59%) delete mode 100644 js/js.translator/testData/inlineMultiModule/cases/externalInlineCallDecomposed/lib/lib.kt rename js/js.translator/testData/inlineMultiModule/cases/{externalInlineNewDecomposed/main/main.kt => externalInlineNewDecomposed.kt} (53%) delete mode 100644 js/js.translator/testData/inlineMultiModule/cases/externalInlineNewDecomposed/lib/lib.kt rename js/js.translator/testData/inlineMultiModule/cases/{lambda/main/main.kt => lambda.kt} (52%) delete mode 100644 js/js.translator/testData/inlineMultiModule/cases/lambda/lib/lib.kt create mode 100644 js/js.translator/testData/inlineMultiModule/cases/lambdaCalledInObjectLiteral.kt delete mode 100644 js/js.translator/testData/inlineMultiModule/cases/lambdaCalledInObjectLiteral/lib/lib.kt delete mode 100644 js/js.translator/testData/inlineMultiModule/cases/lambdaCalledInObjectLiteral/main/main.kt rename js/js.translator/testData/inlineMultiModule/cases/{lambdaWithClosure/main/main.kt => lambdaWithClosure.kt} (53%) delete mode 100644 js/js.translator/testData/inlineMultiModule/cases/lambdaWithClosure/lib/lib.kt rename js/js.translator/testData/inlineMultiModule/cases/{localNameClash/main/main.kt => localNameClash.kt} (51%) delete mode 100644 js/js.translator/testData/inlineMultiModule/cases/localNameClash/lib/lib.kt create mode 100644 js/js.translator/testData/inlineMultiModule/cases/method.kt delete mode 100644 js/js.translator/testData/inlineMultiModule/cases/method/lib/lib.kt delete mode 100644 js/js.translator/testData/inlineMultiModule/cases/method/main/main.kt rename js/js.translator/testData/inlineMultiModule/cases/{parameterWithDefaultValue/main/main.kt => parameterWithDefaultValue.kt} (52%) delete mode 100644 js/js.translator/testData/inlineMultiModule/cases/parameterWithDefaultValue/lib/lib.kt rename js/js.translator/testData/inlineMultiModule/cases/{simple/main/main.kt => simple.kt} (58%) delete mode 100644 js/js.translator/testData/inlineMultiModule/cases/simple/lib/lib.kt delete mode 100644 js/js.translator/testData/inlineMultiModule/dependencies.txt diff --git a/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt b/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt index b3dd4eca08b..d3b55e0f1d1 100755 --- a/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt +++ b/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt @@ -1170,7 +1170,7 @@ fun main(args: Array) { } testClass() { - model("inlineMultiModule/cases", extension = null, recursive = false) + model("inlineMultiModule/cases") } testClass() { diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/InlineMultiModuleTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/InlineMultiModuleTestGenerated.java index b3d9197c943..86de1958b66 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/InlineMultiModuleTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/InlineMultiModuleTestGenerated.java @@ -32,84 +32,84 @@ import java.util.regex.Pattern; @RunWith(JUnit3RunnerWithInners.class) public class InlineMultiModuleTestGenerated extends AbstractInlineMultiModuleTest { public void testAllFilesPresentInCases() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/inlineMultiModule/cases"), Pattern.compile("^([^\\.]+)$"), false); + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/inlineMultiModule/cases"), Pattern.compile("^(.+)\\.kt$"), true); } - @TestMetadata("anotherModuleValInClosure") + @TestMetadata("anotherModuleValInClosure.kt") public void testAnotherModuleValInClosure() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/anotherModuleValInClosure/"); + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/anotherModuleValInClosure.kt"); doTest(fileName); } - @TestMetadata("callableReference") + @TestMetadata("callableReference.kt") public void testCallableReference() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/callableReference/"); + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/callableReference.kt"); doTest(fileName); } - @TestMetadata("calledByFqName") + @TestMetadata("calledByFqName.kt") public void testCalledByFqName() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/calledByFqName/"); + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/calledByFqName.kt"); doTest(fileName); } - @TestMetadata("extensionLambda") + @TestMetadata("extensionLambda.kt") public void testExtensionLambda() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/extensionLambda/"); + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/extensionLambda.kt"); doTest(fileName); } - @TestMetadata("externalInlineCallDecomposed") + @TestMetadata("externalInlineCallDecomposed.kt") public void testExternalInlineCallDecomposed() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/externalInlineCallDecomposed/"); + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/externalInlineCallDecomposed.kt"); doTest(fileName); } - @TestMetadata("externalInlineNewDecomposed") + @TestMetadata("externalInlineNewDecomposed.kt") public void testExternalInlineNewDecomposed() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/externalInlineNewDecomposed/"); + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/externalInlineNewDecomposed.kt"); doTest(fileName); } - @TestMetadata("lambda") + @TestMetadata("lambda.kt") public void testLambda() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/lambda/"); + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/lambda.kt"); doTest(fileName); } - @TestMetadata("lambdaCalledInObjectLiteral") + @TestMetadata("lambdaCalledInObjectLiteral.kt") public void testLambdaCalledInObjectLiteral() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/lambdaCalledInObjectLiteral/"); + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/lambdaCalledInObjectLiteral.kt"); doTest(fileName); } - @TestMetadata("lambdaWithClosure") + @TestMetadata("lambdaWithClosure.kt") public void testLambdaWithClosure() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/lambdaWithClosure/"); + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/lambdaWithClosure.kt"); doTest(fileName); } - @TestMetadata("localNameClash") + @TestMetadata("localNameClash.kt") public void testLocalNameClash() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/localNameClash/"); + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/localNameClash.kt"); doTest(fileName); } - @TestMetadata("method") + @TestMetadata("method.kt") public void testMethod() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/method/"); + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/method.kt"); doTest(fileName); } - @TestMetadata("parameterWithDefaultValue") + @TestMetadata("parameterWithDefaultValue.kt") public void testParameterWithDefaultValue() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/parameterWithDefaultValue/"); + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/parameterWithDefaultValue.kt"); doTest(fileName); } - @TestMetadata("simple") + @TestMetadata("simple.kt") public void testSimple() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/simple/"); + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/inlineMultiModule/cases/simple.kt"); doTest(fileName); } } diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/abstractClassesForGeneratedTests.kt b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/abstractClassesForGeneratedTests.kt index 2306b7a11f3..4746989ff91 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/abstractClassesForGeneratedTests.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/abstractClassesForGeneratedTests.kt @@ -17,7 +17,6 @@ package org.jetbrains.kotlin.js.test.semantics import org.jetbrains.kotlin.js.test.BasicBoxTest -import org.jetbrains.kotlin.js.test.MultipleModulesTranslationTest abstract class AbstractBridgeTest : BasicBoxTest("bridges/") @@ -43,7 +42,7 @@ abstract class AbstractLabelTest : BasicBoxTest("labels/") abstract class AbstractMultiModuleTest : BasicBoxTest("multiModule/") -abstract class AbstractInlineMultiModuleTest : MultipleModulesTranslationTest("inlineMultiModule/") +abstract class AbstractInlineMultiModuleTest : BasicBoxTest("inlineMultiModule/") abstract class AbstractReservedWordTest : BasicBoxTest("reservedWords/") diff --git a/js/js.translator/testData/inlineMultiModule/cases/anotherModuleValInClosure/main/main.kt b/js/js.translator/testData/inlineMultiModule/cases/anotherModuleValInClosure.kt similarity index 52% rename from js/js.translator/testData/inlineMultiModule/cases/anotherModuleValInClosure/main/main.kt rename to js/js.translator/testData/inlineMultiModule/cases/anotherModuleValInClosure.kt index 9b01de84303..4fc0ae3da3d 100644 --- a/js/js.translator/testData/inlineMultiModule/cases/anotherModuleValInClosure/main/main.kt +++ b/js/js.translator/testData/inlineMultiModule/cases/anotherModuleValInClosure.kt @@ -1,3 +1,20 @@ +// MODULE: lib +// FILE: lib.kt + +package utils + +public var LOG: String = "" + +inline +public fun log(s: String): String { + LOG += s + return LOG +} + + +// MODULE: main(lib) +// FILE: main.kt + import utils.* // CHECK_CONTAINS_NO_CALLS: test diff --git a/js/js.translator/testData/inlineMultiModule/cases/anotherModuleValInClosure/lib/lib.kt b/js/js.translator/testData/inlineMultiModule/cases/anotherModuleValInClosure/lib/lib.kt deleted file mode 100644 index 23a0964f5e8..00000000000 --- a/js/js.translator/testData/inlineMultiModule/cases/anotherModuleValInClosure/lib/lib.kt +++ /dev/null @@ -1,9 +0,0 @@ -package utils - -public var LOG: String = "" - -inline -public fun log(s: String): String { - LOG += s - return LOG -} diff --git a/js/js.translator/testData/inlineMultiModule/cases/callableReference/main/main.kt b/js/js.translator/testData/inlineMultiModule/cases/callableReference.kt similarity index 58% rename from js/js.translator/testData/inlineMultiModule/cases/callableReference/main/main.kt rename to js/js.translator/testData/inlineMultiModule/cases/callableReference.kt index c186715bc81..6711b832bd4 100644 --- a/js/js.translator/testData/inlineMultiModule/cases/callableReference/main/main.kt +++ b/js/js.translator/testData/inlineMultiModule/cases/callableReference.kt @@ -1,3 +1,15 @@ +// MODULE: lib +// FILE: lib.kt + +package utils + +inline +public fun apply(x: T, fn: (T)->R): R = + fn(x) + +// MODULE: main(lib) +// FILE: main.kt + import utils.* // CHECK_CONTAINS_NO_CALLS: test diff --git a/js/js.translator/testData/inlineMultiModule/cases/callableReference/lib/lib.kt b/js/js.translator/testData/inlineMultiModule/cases/callableReference/lib/lib.kt deleted file mode 100644 index b8d49264199..00000000000 --- a/js/js.translator/testData/inlineMultiModule/cases/callableReference/lib/lib.kt +++ /dev/null @@ -1,5 +0,0 @@ -package utils - -inline -public fun apply(x: T, fn: (T)->R): R = - fn(x) \ No newline at end of file diff --git a/js/js.translator/testData/inlineMultiModule/cases/calledByFqName/main/main.kt b/js/js.translator/testData/inlineMultiModule/cases/calledByFqName.kt similarity index 57% rename from js/js.translator/testData/inlineMultiModule/cases/calledByFqName/main/main.kt rename to js/js.translator/testData/inlineMultiModule/cases/calledByFqName.kt index 116516fba60..fff86e5d1d1 100644 --- a/js/js.translator/testData/inlineMultiModule/cases/calledByFqName/main/main.kt +++ b/js/js.translator/testData/inlineMultiModule/cases/calledByFqName.kt @@ -1,3 +1,14 @@ +// MODULE: lib +// FILE: lib.kt +package utils + +inline +public fun sum(x: Int, y: Int): Int = + x + y + + +// MODULE: main(lib) +// FILE: main.kt // CHECK_CONTAINS_NO_CALLS: test internal fun test(x: Int, y: Int): Int = utils.sum(x, y) diff --git a/js/js.translator/testData/inlineMultiModule/cases/calledByFqName/lib/lib.kt b/js/js.translator/testData/inlineMultiModule/cases/calledByFqName/lib/lib.kt deleted file mode 100644 index 3ff981e7d48..00000000000 --- a/js/js.translator/testData/inlineMultiModule/cases/calledByFqName/lib/lib.kt +++ /dev/null @@ -1,5 +0,0 @@ -package utils - -inline -public fun sum(x: Int, y: Int): Int = - x + y \ No newline at end of file diff --git a/js/js.translator/testData/inlineMultiModule/cases/extensionLambda/main/main.kt b/js/js.translator/testData/inlineMultiModule/cases/extensionLambda.kt similarity index 57% rename from js/js.translator/testData/inlineMultiModule/cases/extensionLambda/main/main.kt rename to js/js.translator/testData/inlineMultiModule/cases/extensionLambda.kt index d6773e7021f..9784f87ab94 100644 --- a/js/js.translator/testData/inlineMultiModule/cases/extensionLambda/main/main.kt +++ b/js/js.translator/testData/inlineMultiModule/cases/extensionLambda.kt @@ -1,3 +1,16 @@ +// MODULE: lib +// FILE: lib.kt + +package utils + +inline +public fun apply(x: T, fn: T.()->R): R = + x.fn() + + +// MODULE: main(lib) +// FILE: main.kt + import utils.* // CHECK_CONTAINS_NO_CALLS: test diff --git a/js/js.translator/testData/inlineMultiModule/cases/extensionLambda/lib/lib.kt b/js/js.translator/testData/inlineMultiModule/cases/extensionLambda/lib/lib.kt deleted file mode 100644 index c4759cbe8ea..00000000000 --- a/js/js.translator/testData/inlineMultiModule/cases/extensionLambda/lib/lib.kt +++ /dev/null @@ -1,5 +0,0 @@ -package utils - -inline -public fun apply(x: T, fn: T.()->R): R = - x.fn() diff --git a/js/js.translator/testData/inlineMultiModule/cases/externalInlineCallDecomposed/main/main.kt b/js/js.translator/testData/inlineMultiModule/cases/externalInlineCallDecomposed.kt similarity index 59% rename from js/js.translator/testData/inlineMultiModule/cases/externalInlineCallDecomposed/main/main.kt rename to js/js.translator/testData/inlineMultiModule/cases/externalInlineCallDecomposed.kt index cfdcd075080..9988c40c67f 100644 --- a/js/js.translator/testData/inlineMultiModule/cases/externalInlineCallDecomposed/main/main.kt +++ b/js/js.translator/testData/inlineMultiModule/cases/externalInlineCallDecomposed.kt @@ -1,3 +1,20 @@ +// MODULE: lib +// FILE: lib.kt + +package lib + +var global = "" + +inline fun baz(x: () -> Int) = A(1).bar(x()) + +class A(val y: Int) { + fun bar(x: Int) = x + y +} + + +// MODULE: main(lib) +// FILE: main.kt + package foo import lib.* diff --git a/js/js.translator/testData/inlineMultiModule/cases/externalInlineCallDecomposed/lib/lib.kt b/js/js.translator/testData/inlineMultiModule/cases/externalInlineCallDecomposed/lib/lib.kt deleted file mode 100644 index f7405f27e03..00000000000 --- a/js/js.translator/testData/inlineMultiModule/cases/externalInlineCallDecomposed/lib/lib.kt +++ /dev/null @@ -1,9 +0,0 @@ -package lib - -var global = "" - -inline fun baz(x: () -> Int) = A(1).bar(x()) - -class A(val y: Int) { - fun bar(x: Int) = x + y -} \ No newline at end of file diff --git a/js/js.translator/testData/inlineMultiModule/cases/externalInlineNewDecomposed/main/main.kt b/js/js.translator/testData/inlineMultiModule/cases/externalInlineNewDecomposed.kt similarity index 53% rename from js/js.translator/testData/inlineMultiModule/cases/externalInlineNewDecomposed/main/main.kt rename to js/js.translator/testData/inlineMultiModule/cases/externalInlineNewDecomposed.kt index cfdcd075080..9be37612e2d 100644 --- a/js/js.translator/testData/inlineMultiModule/cases/externalInlineNewDecomposed/main/main.kt +++ b/js/js.translator/testData/inlineMultiModule/cases/externalInlineNewDecomposed.kt @@ -1,3 +1,21 @@ +// MODULE: lib +// FILE: lib.kt + +package lib + +var global = "" + +inline fun baz(x: () -> Int) = ((A(1).B(x()) as Any) as A.B).bar() + +class A(val y: Int) { + inner class B(val x: Int) { + fun bar() = x + y + } +} + +// MODULE: main(lib) +// FILE: main.kt + package foo import lib.* diff --git a/js/js.translator/testData/inlineMultiModule/cases/externalInlineNewDecomposed/lib/lib.kt b/js/js.translator/testData/inlineMultiModule/cases/externalInlineNewDecomposed/lib/lib.kt deleted file mode 100644 index 887cf0bebd4..00000000000 --- a/js/js.translator/testData/inlineMultiModule/cases/externalInlineNewDecomposed/lib/lib.kt +++ /dev/null @@ -1,11 +0,0 @@ -package lib - -var global = "" - -inline fun baz(x: () -> Int) = ((A(1).B(x()) as Any) as A.B).bar() - -class A(val y: Int) { - inner class B(val x: Int) { - fun bar() = x + y - } -} \ No newline at end of file diff --git a/js/js.translator/testData/inlineMultiModule/cases/lambda/main/main.kt b/js/js.translator/testData/inlineMultiModule/cases/lambda.kt similarity index 52% rename from js/js.translator/testData/inlineMultiModule/cases/lambda/main/main.kt rename to js/js.translator/testData/inlineMultiModule/cases/lambda.kt index c1f5c20e917..3891bd75af8 100644 --- a/js/js.translator/testData/inlineMultiModule/cases/lambda/main/main.kt +++ b/js/js.translator/testData/inlineMultiModule/cases/lambda.kt @@ -1,3 +1,16 @@ +// MODULE: lib +// FILE: lib.kt + +package utils + +inline +public fun apply(x: T, fn: (T)->R): R = + fn(x) + + +// MODULE: main(lib) +// FILE: main.kt + import utils.* // CHECK_CONTAINS_NO_CALLS: test diff --git a/js/js.translator/testData/inlineMultiModule/cases/lambda/lib/lib.kt b/js/js.translator/testData/inlineMultiModule/cases/lambda/lib/lib.kt deleted file mode 100644 index b8d49264199..00000000000 --- a/js/js.translator/testData/inlineMultiModule/cases/lambda/lib/lib.kt +++ /dev/null @@ -1,5 +0,0 @@ -package utils - -inline -public fun apply(x: T, fn: (T)->R): R = - fn(x) \ No newline at end of file diff --git a/js/js.translator/testData/inlineMultiModule/cases/lambdaCalledInObjectLiteral.kt b/js/js.translator/testData/inlineMultiModule/cases/lambdaCalledInObjectLiteral.kt new file mode 100644 index 00000000000..0bb606d1864 --- /dev/null +++ b/js/js.translator/testData/inlineMultiModule/cases/lambdaCalledInObjectLiteral.kt @@ -0,0 +1,27 @@ +// MODULE: lib +// FILE: lib.kt + +package utils + +inline +public fun apply(x: T, crossinline fn: (T)->R): R { + val result = object { + val x = fn(x) + } + + return result.x +} + + +// MODULE: main(lib) +// FILE: main.kt + +import utils.* + +internal fun test(x: Int): Int = apply(x) { it * 2 } + +fun box(): String { + assertEquals(6, test(3)) + + return "OK" +} \ No newline at end of file diff --git a/js/js.translator/testData/inlineMultiModule/cases/lambdaCalledInObjectLiteral/lib/lib.kt b/js/js.translator/testData/inlineMultiModule/cases/lambdaCalledInObjectLiteral/lib/lib.kt deleted file mode 100644 index 19fedbfaf41..00000000000 --- a/js/js.translator/testData/inlineMultiModule/cases/lambdaCalledInObjectLiteral/lib/lib.kt +++ /dev/null @@ -1,10 +0,0 @@ -package utils - -inline -public fun apply(x: T, crossinline fn: (T)->R): R { - val result = object { - val x = fn(x) - } - - return result.x -} \ No newline at end of file diff --git a/js/js.translator/testData/inlineMultiModule/cases/lambdaCalledInObjectLiteral/main/main.kt b/js/js.translator/testData/inlineMultiModule/cases/lambdaCalledInObjectLiteral/main/main.kt deleted file mode 100644 index 55d655ba5d9..00000000000 --- a/js/js.translator/testData/inlineMultiModule/cases/lambdaCalledInObjectLiteral/main/main.kt +++ /dev/null @@ -1,9 +0,0 @@ -import utils.* - -internal fun test(x: Int): Int = apply(x) { it * 2 } - -fun box(): String { - assertEquals(6, test(3)) - - return "OK" -} \ No newline at end of file diff --git a/js/js.translator/testData/inlineMultiModule/cases/lambdaWithClosure/main/main.kt b/js/js.translator/testData/inlineMultiModule/cases/lambdaWithClosure.kt similarity index 53% rename from js/js.translator/testData/inlineMultiModule/cases/lambdaWithClosure/main/main.kt rename to js/js.translator/testData/inlineMultiModule/cases/lambdaWithClosure.kt index 0d0ce1980f8..c95dafc1119 100644 --- a/js/js.translator/testData/inlineMultiModule/cases/lambdaWithClosure/main/main.kt +++ b/js/js.translator/testData/inlineMultiModule/cases/lambdaWithClosure.kt @@ -1,3 +1,16 @@ +// MODULE: lib +// FILE: lib.kt + +package utils + +inline +public fun apply(x: T, fn: (T)->R): R = + fn(x) + + +// MODULE: main(lib) +// FILE: main.kt + import utils.* // CHECK_CONTAINS_NO_CALLS: test diff --git a/js/js.translator/testData/inlineMultiModule/cases/lambdaWithClosure/lib/lib.kt b/js/js.translator/testData/inlineMultiModule/cases/lambdaWithClosure/lib/lib.kt deleted file mode 100644 index b8d49264199..00000000000 --- a/js/js.translator/testData/inlineMultiModule/cases/lambdaWithClosure/lib/lib.kt +++ /dev/null @@ -1,5 +0,0 @@ -package utils - -inline -public fun apply(x: T, fn: (T)->R): R = - fn(x) \ No newline at end of file diff --git a/js/js.translator/testData/inlineMultiModule/cases/localNameClash/main/main.kt b/js/js.translator/testData/inlineMultiModule/cases/localNameClash.kt similarity index 51% rename from js/js.translator/testData/inlineMultiModule/cases/localNameClash/main/main.kt rename to js/js.translator/testData/inlineMultiModule/cases/localNameClash.kt index f2e201d184d..024c8985275 100644 --- a/js/js.translator/testData/inlineMultiModule/cases/localNameClash/main/main.kt +++ b/js/js.translator/testData/inlineMultiModule/cases/localNameClash.kt @@ -1,3 +1,18 @@ +// MODULE: lib +// FILE: lib.kt + +package utils + +inline +public fun apply(x: T, fn: (T)->R): R { + val y = fn(x) + return y +} + + +// MODULE: main(lib) +// FILE: main.kt + import utils.* // CHECK_CONTAINS_NO_CALLS: test diff --git a/js/js.translator/testData/inlineMultiModule/cases/localNameClash/lib/lib.kt b/js/js.translator/testData/inlineMultiModule/cases/localNameClash/lib/lib.kt deleted file mode 100644 index 778dfb8a0aa..00000000000 --- a/js/js.translator/testData/inlineMultiModule/cases/localNameClash/lib/lib.kt +++ /dev/null @@ -1,7 +0,0 @@ -package utils - -inline -public fun apply(x: T, fn: (T)->R): R { - val y = fn(x) - return y -} \ No newline at end of file diff --git a/js/js.translator/testData/inlineMultiModule/cases/method.kt b/js/js.translator/testData/inlineMultiModule/cases/method.kt new file mode 100644 index 00000000000..b154ad2f222 --- /dev/null +++ b/js/js.translator/testData/inlineMultiModule/cases/method.kt @@ -0,0 +1,25 @@ +// MODULE: lib +// FILE: lib.kt + +package utils + +public class A(public val x: Int) { + inline + public fun plus(y: Int): Int = x + y +} + + +// MODULE: main(lib) +// FILE: main.kt + +import utils.* + +// CHECK_CONTAINS_NO_CALLS: test + +internal fun test(a: A, y: Int): Int = a.plus(y) + +fun box(): String { + assertEquals(5, test(A(2), 3)) + + return "OK" +} \ No newline at end of file diff --git a/js/js.translator/testData/inlineMultiModule/cases/method/lib/lib.kt b/js/js.translator/testData/inlineMultiModule/cases/method/lib/lib.kt deleted file mode 100644 index 71c1ee4b30a..00000000000 --- a/js/js.translator/testData/inlineMultiModule/cases/method/lib/lib.kt +++ /dev/null @@ -1,6 +0,0 @@ -package utils - -public class A(public val x: Int) { - inline - public fun plus(y: Int): Int = x + y -} \ No newline at end of file diff --git a/js/js.translator/testData/inlineMultiModule/cases/method/main/main.kt b/js/js.translator/testData/inlineMultiModule/cases/method/main/main.kt deleted file mode 100644 index 5ab7c86859b..00000000000 --- a/js/js.translator/testData/inlineMultiModule/cases/method/main/main.kt +++ /dev/null @@ -1,11 +0,0 @@ -import utils.* - -// CHECK_CONTAINS_NO_CALLS: test - -internal fun test(a: A, y: Int): Int = a.plus(y) - -fun box(): String { - assertEquals(5, test(A(2), 3)) - - return "OK" -} \ No newline at end of file diff --git a/js/js.translator/testData/inlineMultiModule/cases/parameterWithDefaultValue/main/main.kt b/js/js.translator/testData/inlineMultiModule/cases/parameterWithDefaultValue.kt similarity index 52% rename from js/js.translator/testData/inlineMultiModule/cases/parameterWithDefaultValue/main/main.kt rename to js/js.translator/testData/inlineMultiModule/cases/parameterWithDefaultValue.kt index 9c46fbd0c83..2045daa8491 100644 --- a/js/js.translator/testData/inlineMultiModule/cases/parameterWithDefaultValue/main/main.kt +++ b/js/js.translator/testData/inlineMultiModule/cases/parameterWithDefaultValue.kt @@ -1,3 +1,14 @@ +// MODULE: lib +// FILE: lib.kt + +package foo + +inline fun bar(x: Int = 0) = x + 10 + + +// MODULE: main(lib) +// FILE: main.kt + package foo // CHECK_NOT_CALLED: bar diff --git a/js/js.translator/testData/inlineMultiModule/cases/parameterWithDefaultValue/lib/lib.kt b/js/js.translator/testData/inlineMultiModule/cases/parameterWithDefaultValue/lib/lib.kt deleted file mode 100644 index 44a37bf2977..00000000000 --- a/js/js.translator/testData/inlineMultiModule/cases/parameterWithDefaultValue/lib/lib.kt +++ /dev/null @@ -1,3 +0,0 @@ -package foo - -inline fun bar(x: Int = 0) = x + 10 \ No newline at end of file diff --git a/js/js.translator/testData/inlineMultiModule/cases/simple/main/main.kt b/js/js.translator/testData/inlineMultiModule/cases/simple.kt similarity index 58% rename from js/js.translator/testData/inlineMultiModule/cases/simple/main/main.kt rename to js/js.translator/testData/inlineMultiModule/cases/simple.kt index 364a60e7d47..69154c95589 100644 --- a/js/js.translator/testData/inlineMultiModule/cases/simple/main/main.kt +++ b/js/js.translator/testData/inlineMultiModule/cases/simple.kt @@ -1,3 +1,16 @@ +// MODULE: lib +// FILE: lib.kt + +package utils + +inline +public fun sum(x: Int, y: Int): Int = + x + y + + +// MODULE: main(lib) +// FILE: main.kt + import utils.* // CHECK_CONTAINS_NO_CALLS: test diff --git a/js/js.translator/testData/inlineMultiModule/cases/simple/lib/lib.kt b/js/js.translator/testData/inlineMultiModule/cases/simple/lib/lib.kt deleted file mode 100644 index 3ff981e7d48..00000000000 --- a/js/js.translator/testData/inlineMultiModule/cases/simple/lib/lib.kt +++ /dev/null @@ -1,5 +0,0 @@ -package utils - -inline -public fun sum(x: Int, y: Int): Int = - x + y \ No newline at end of file diff --git a/js/js.translator/testData/inlineMultiModule/dependencies.txt b/js/js.translator/testData/inlineMultiModule/dependencies.txt deleted file mode 100644 index e74a34660da..00000000000 --- a/js/js.translator/testData/inlineMultiModule/dependencies.txt +++ /dev/null @@ -1,2 +0,0 @@ -lib-> -main->lib \ No newline at end of file