diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsFirInvalidationPerFileTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsFirInvalidationPerFileTestGenerated.java index e2ff2545b20..94b0808f1fc 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsFirInvalidationPerFileTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsFirInvalidationPerFileTestGenerated.java @@ -409,6 +409,12 @@ public class JsFirInvalidationPerFileTestGenerated extends AbstractJsFirInvalida runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/"); } + @Test + @TestMetadata("multiPlatformSimple") + public void testMultiPlatformSimple() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/multiPlatformSimple/"); + } + @Test @TestMetadata("nestedClass") public void testNestedClass() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsFirInvalidationPerModuleTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsFirInvalidationPerModuleTestGenerated.java index c73050fae61..3ac2f0dfb07 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsFirInvalidationPerModuleTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsFirInvalidationPerModuleTestGenerated.java @@ -409,6 +409,12 @@ public class JsFirInvalidationPerModuleTestGenerated extends AbstractJsFirInvali runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/"); } + @Test + @TestMetadata("multiPlatformSimple") + public void testMultiPlatformSimple() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/multiPlatformSimple/"); + } + @Test @TestMetadata("nestedClass") public void testNestedClass() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsIrES6InvalidationPerFileTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsIrES6InvalidationPerFileTestGenerated.java index ae73ef031ca..77b734132b0 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsIrES6InvalidationPerFileTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsIrES6InvalidationPerFileTestGenerated.java @@ -409,6 +409,12 @@ public class JsIrES6InvalidationPerFileTestGenerated extends AbstractJsIrES6Inva runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/"); } + @Test + @TestMetadata("multiPlatformSimple") + public void testMultiPlatformSimple() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/multiPlatformSimple/"); + } + @Test @TestMetadata("nestedClass") public void testNestedClass() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsIrES6InvalidationPerModuleTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsIrES6InvalidationPerModuleTestGenerated.java index e137a1f3e5c..44bf7539606 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsIrES6InvalidationPerModuleTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsIrES6InvalidationPerModuleTestGenerated.java @@ -409,6 +409,12 @@ public class JsIrES6InvalidationPerModuleTestGenerated extends AbstractJsIrES6In runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/"); } + @Test + @TestMetadata("multiPlatformSimple") + public void testMultiPlatformSimple() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/multiPlatformSimple/"); + } + @Test @TestMetadata("nestedClass") public void testNestedClass() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsIrInvalidationPerFileTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsIrInvalidationPerFileTestGenerated.java index 618cbe72eb6..e55cfaad28d 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsIrInvalidationPerFileTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsIrInvalidationPerFileTestGenerated.java @@ -409,6 +409,12 @@ public class JsIrInvalidationPerFileTestGenerated extends AbstractJsIrInvalidati runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/"); } + @Test + @TestMetadata("multiPlatformSimple") + public void testMultiPlatformSimple() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/multiPlatformSimple/"); + } + @Test @TestMetadata("nestedClass") public void testNestedClass() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsIrInvalidationPerModuleTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsIrInvalidationPerModuleTestGenerated.java index 71e60479271..fb780965cce 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsIrInvalidationPerModuleTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsIrInvalidationPerModuleTestGenerated.java @@ -409,6 +409,12 @@ public class JsIrInvalidationPerModuleTestGenerated extends AbstractJsIrInvalida runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/"); } + @Test + @TestMetadata("multiPlatformSimple") + public void testMultiPlatformSimple() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/multiPlatformSimple/"); + } + @Test @TestMetadata("nestedClass") public void testNestedClass() throws Exception { diff --git a/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib1/common/l1common.0.kt b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib1/common/l1common.0.kt new file mode 100644 index 00000000000..2472a9af51c --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib1/common/l1common.0.kt @@ -0,0 +1,3 @@ +expect fun lib1CommonFun(): Int + +fun lib1Fun() = lib1CommonFun() + 1 diff --git a/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib1/js/l1js.0.kt b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib1/js/l1js.0.kt new file mode 100644 index 00000000000..73d971eff9e --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib1/js/l1js.0.kt @@ -0,0 +1 @@ +actual fun lib1CommonFun(): Int = 0 diff --git a/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib1/js/l1js.1.kt b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib1/js/l1js.1.kt new file mode 100644 index 00000000000..fa17ee32698 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib1/js/l1js.1.kt @@ -0,0 +1 @@ +actual fun lib1CommonFun(): Int = 1 diff --git a/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib1/module.info b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib1/module.info new file mode 100644 index 00000000000..254598c8146 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib1/module.info @@ -0,0 +1,10 @@ +STEP 0: + modifications: + U : js/l1js.0.kt -> js/l1js.kt + U : common/l1common.0.kt -> common/l1common.kt + added file: l1js.kt, l1common.kt +STEP 1: + modifications: + U : js/l1js.1.kt -> js/l1js.kt + modified ir: l1js.kt + diff --git a/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib2/common/l2common.0.kt b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib2/common/l2common.0.kt new file mode 100644 index 00000000000..1a97ccb9356 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib2/common/l2common.0.kt @@ -0,0 +1,3 @@ +expect fun lib2CommonFun(): Int + +fun lib2Fun() = lib2CommonFun() + lib1CommonFun() + lib1Fun() + 1 diff --git a/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib2/js/l2js.0.kt b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib2/js/l2js.0.kt new file mode 100644 index 00000000000..b41f188f00e --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib2/js/l2js.0.kt @@ -0,0 +1 @@ +actual fun lib2CommonFun(): Int = lib1CommonFun() + 1 diff --git a/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib2/js/l2js.1.kt b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib2/js/l2js.1.kt new file mode 100644 index 00000000000..e64ce36f523 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib2/js/l2js.1.kt @@ -0,0 +1 @@ +actual fun lib2CommonFun(): Int = lib1CommonFun() + 1 + 1 diff --git a/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib2/module.info b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib2/module.info new file mode 100644 index 00000000000..e3d796807e4 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/lib2/module.info @@ -0,0 +1,12 @@ +STEP 0: + dependencies: lib1 + modifications: + U : js/l2js.0.kt -> js/l2js.kt + U : common/l2common.0.kt -> common/l2common.kt + added file: l2js.kt, l2common.kt +STEP 1: + dependencies: lib1 + modifications: + U : js/l2js.1.kt -> js/l2js.kt + modified ir: l2js.kt + diff --git a/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/main/m.kt b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/main/m.kt new file mode 100644 index 00000000000..d7b3520a27e --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/main/m.kt @@ -0,0 +1,25 @@ +fun box(stepId: Int): String { + val lib1Common = stepId + val lib1 = lib1Common + 1 + val lib2Common = lib1Common + stepId + 1 + val lib2 = lib1Common + lib2Common + lib1 + 1 + + var got = lib1CommonFun() + if (lib1Common != got) { + return "Fail lib1CommonFun(): $lib1Common != $got" + } + got = lib1Fun() + if (lib1 != got) { + return "Fail lib1Fun(): $lib1 != $got" + } + got = lib2CommonFun() + if (lib2Common != got) { + return "Fail lib2CommonFun(): $lib2Common != $got" + } + got = lib2Fun() + if (lib2 != got) { + return "Fail lib2Fun(): $lib2 != $got" + } + + return "OK" +} diff --git a/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/main/module.info b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/main/module.info new file mode 100644 index 00000000000..406ec8bd244 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/main/module.info @@ -0,0 +1,5 @@ +STEP 0: + dependencies: lib1, lib2 + added file: m.kt +STEP 1: + dependencies: lib1, lib2 diff --git a/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/project.info b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/project.info new file mode 100644 index 00000000000..e9bf9dbf0e7 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/multiPlatformSimple/project.info @@ -0,0 +1,12 @@ +MODULES: lib1, lib2, main + +STEP 0: + language: +MultiPlatformProjects + libs: lib1, lib2, main + dirty js modules: lib1, lib2, main + dirty js files: lib1/l1js, lib1/l1common, lib2/l2js, lib2/l2common, main/m.export, main/m, main +STEP 1: + language: +MultiPlatformProjects + libs: lib1, lib2, main + dirty js modules: lib1, lib2 + dirty js files: lib1/l1js, lib2/l2js