From 2dd519c91f196d3d5bdf5935f83f943c110c8429 Mon Sep 17 00:00:00 2001 From: Roman Artemev Date: Fri, 17 Dec 2021 05:34:49 +0300 Subject: [PATCH] [JS IC TEST] Add test case for moving inline functions between modules --- .../kotlin/incremental/InvalidationTestGenerated.java | 5 +++++ .../moveInlineFunctionBetweenModules/lib1/l1.kt | 4 ++++ .../moveInlineFunctionBetweenModules/lib1/l1.kt.1 | 2 ++ .../moveInlineFunctionBetweenModules/lib1/module.info | 8 ++++++++ .../moveInlineFunctionBetweenModules/lib2/l2.kt | 2 ++ .../moveInlineFunctionBetweenModules/lib2/l22.kt.1 | 2 ++ .../moveInlineFunctionBetweenModules/lib2/module.info | 9 +++++++++ .../moveInlineFunctionBetweenModules/lib3/l3.kt | 2 ++ .../moveInlineFunctionBetweenModules/lib3/module.info | 7 +++++++ .../moveInlineFunctionBetweenModules/main/m.kt | 2 ++ .../moveInlineFunctionBetweenModules/main/module.info | 7 +++++++ .../moveInlineFunctionBetweenModules/project.info | 7 +++++++ 12 files changed, 57 insertions(+) create mode 100644 js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib1/l1.kt create mode 100644 js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib1/l1.kt.1 create mode 100644 js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib1/module.info create mode 100644 js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib2/l2.kt create mode 100644 js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib2/l22.kt.1 create mode 100644 js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib2/module.info create mode 100644 js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib3/l3.kt create mode 100644 js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib3/module.info create mode 100644 js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/main/m.kt create mode 100644 js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/main/module.info create mode 100644 js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/project.info diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/InvalidationTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/InvalidationTestGenerated.java index dfb254b39cf..29ff606972b 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/InvalidationTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/InvalidationTestGenerated.java @@ -40,6 +40,11 @@ public class InvalidationTestGenerated extends AbstractInvalidationTest { runTest("js/js.translator/testData/incremental/invalidation/fastPath2/"); } + @TestMetadata("moveInlineFunctionBetweenModules") + public void testMoveInlineFunctionBetweenModules() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/"); + } + @TestMetadata("privateInlineFunction1") public void testPrivateInlineFunction1() throws Exception { runTest("js/js.translator/testData/incremental/invalidation/privateInlineFunction1/"); diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib1/l1.kt b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib1/l1.kt new file mode 100644 index 00000000000..2f65a3a72ca --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib1/l1.kt @@ -0,0 +1,4 @@ + +inline fun foo(a: Int) = a * 2 + +inline fun bar(b: Int) = b - 3 diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib1/l1.kt.1 b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib1/l1.kt.1 new file mode 100644 index 00000000000..68f9b70e81f --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib1/l1.kt.1 @@ -0,0 +1,2 @@ + +inline fun foo(a: Int) = a * 3 diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib1/module.info b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib1/module.info new file mode 100644 index 00000000000..5963605a540 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib1/module.info @@ -0,0 +1,8 @@ +STEP 0: + dependencies: stdlib + dirty: l1.kt +STEP 1: + dependencies: stdlib + modifications: + U : l1.kt.1 -> l1.kt + dirty: l1.kt diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib2/l2.kt b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib2/l2.kt new file mode 100644 index 00000000000..77d5cd44425 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib2/l2.kt @@ -0,0 +1,2 @@ + +inline fun qux(x: Int, y: Int) = foo(x) + bar(y) \ No newline at end of file diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib2/l22.kt.1 b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib2/l22.kt.1 new file mode 100644 index 00000000000..35768eb7ae2 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib2/l22.kt.1 @@ -0,0 +1,2 @@ + +inline fun bar(b: Int) = b - 4 \ No newline at end of file diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib2/module.info b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib2/module.info new file mode 100644 index 00000000000..be5b21e1a99 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib2/module.info @@ -0,0 +1,9 @@ +STEP 0: + dependencies: stdlib, lib1 + dirty: l2.kt + +STEP 1: + dependencies: stdlib, lib1 + modifications: + U : l22.kt.1 -> l22.kt + dirty: l2.kt, l22.kt \ No newline at end of file diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib3/l3.kt b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib3/l3.kt new file mode 100644 index 00000000000..adaa018e630 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib3/l3.kt @@ -0,0 +1,2 @@ + +inline fun dex(x: Int, y: Int) = qux(x * y, y - x) \ No newline at end of file diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib3/module.info b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib3/module.info new file mode 100644 index 00000000000..629ace95d91 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/lib3/module.info @@ -0,0 +1,7 @@ +STEP 0: + dependencies: stdlib, lib1, lib2 + dirty: l3.kt + +STEP 1: + dependencies: stdlib, lib1, lib2 + dirty: l3.kt \ No newline at end of file diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/main/m.kt b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/main/m.kt new file mode 100644 index 00000000000..9e4affdeab7 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/main/m.kt @@ -0,0 +1,2 @@ + +fun box() = dex(4, 2) \ No newline at end of file diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/main/module.info b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/main/module.info new file mode 100644 index 00000000000..bcb9ac62070 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/main/module.info @@ -0,0 +1,7 @@ +STEP 0: + dependencies: stdlib, lib1, lib2, lib3 + dirty: m.kt + +STEP 1: + dependencies: stdlib, lib1, lib2, lib3 + dirty: m.kt \ No newline at end of file diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/project.info b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/project.info new file mode 100644 index 00000000000..2ce90f668ad --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/project.info @@ -0,0 +1,7 @@ +MODULES: lib1, lib2, lib3, main + +STEP 0: + libs: lib1, lib2, lib3, main + +STEP 1: + libs: lib1, lib2, lib3, main \ No newline at end of file