[Tests] Add JS/Wasm IC invalidation tests using intra-module IRInliner
^KT-79799
diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsFirES6InvalidationPerFileTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsFirES6InvalidationPerFileTestGenerated.java
index 0f2515e..0aeafc468 100644
--- a/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsFirES6InvalidationPerFileTestGenerated.java
+++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsFirES6InvalidationPerFileTestGenerated.java
@@ -375,6 +375,12 @@
}
@Test
+ @TestMetadata("jsCodeWithConstStringFromOtherModuleWithIRInliner")
+ public void testJsCodeWithConstStringFromOtherModuleWithIRInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/");
+ }
+
+ @Test
@TestMetadata("jsExport")
public void testJsExport() {
runTest("js/js.translator/testData/incremental/invalidation/jsExport/");
@@ -465,6 +471,18 @@
}
@Test
+ @TestMetadata("moveAndModifyInlineFunctionWithCrossModuleInliner")
+ public void testMoveAndModifyInlineFunctionWithCrossModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithCrossModuleInliner/");
+ }
+
+ @Test
+ @TestMetadata("moveAndModifyInlineFunctionWithIntraModuleInliner")
+ public void testMoveAndModifyInlineFunctionWithIntraModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIntraModuleInliner/");
+ }
+
+ @Test
@TestMetadata("moveExternalDeclarationsBetweenFiles")
public void testMoveExternalDeclarationsBetweenFiles() {
runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenFiles/");
@@ -483,12 +501,36 @@
}
@Test
+ @TestMetadata("moveFilesBetweenModulesWithCrossModuleInliner")
+ public void testMoveFilesBetweenModulesWithCrossModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/");
+ }
+
+ @Test
+ @TestMetadata("moveFilesBetweenModulesWithIntraModuleInliner")
+ public void testMoveFilesBetweenModulesWithIntraModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/");
+ }
+
+ @Test
@TestMetadata("moveInlineFunctionBetweenModules")
public void testMoveInlineFunctionBetweenModules() {
runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/");
}
@Test
+ @TestMetadata("moveInlineFunctionBetweenModulesWithCrossModuleInliner")
+ public void testMoveInlineFunctionBetweenModulesWithCrossModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/");
+ }
+
+ @Test
+ @TestMetadata("moveInlineFunctionBetweenModulesWithIntraModuleInliner")
+ public void testMoveInlineFunctionBetweenModulesWithIntraModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/");
+ }
+
+ @Test
@TestMetadata("multiModuleEagerInitialization")
public void testMultiModuleEagerInitialization() {
runTest("js/js.translator/testData/incremental/invalidation/multiModuleEagerInitialization/");
diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsFirES6InvalidationPerModuleTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsFirES6InvalidationPerModuleTestGenerated.java
index b6c3156..dff2d7b 100644
--- a/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsFirES6InvalidationPerModuleTestGenerated.java
+++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/JsFirES6InvalidationPerModuleTestGenerated.java
@@ -375,6 +375,12 @@
}
@Test
+ @TestMetadata("jsCodeWithConstStringFromOtherModuleWithIRInliner")
+ public void testJsCodeWithConstStringFromOtherModuleWithIRInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/");
+ }
+
+ @Test
@TestMetadata("jsExport")
public void testJsExport() {
runTest("js/js.translator/testData/incremental/invalidation/jsExport/");
@@ -465,6 +471,18 @@
}
@Test
+ @TestMetadata("moveAndModifyInlineFunctionWithCrossModuleInliner")
+ public void testMoveAndModifyInlineFunctionWithCrossModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithCrossModuleInliner/");
+ }
+
+ @Test
+ @TestMetadata("moveAndModifyInlineFunctionWithIntraModuleInliner")
+ public void testMoveAndModifyInlineFunctionWithIntraModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIntraModuleInliner/");
+ }
+
+ @Test
@TestMetadata("moveExternalDeclarationsBetweenFiles")
public void testMoveExternalDeclarationsBetweenFiles() {
runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenFiles/");
@@ -483,12 +501,36 @@
}
@Test
+ @TestMetadata("moveFilesBetweenModulesWithCrossModuleInliner")
+ public void testMoveFilesBetweenModulesWithCrossModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/");
+ }
+
+ @Test
+ @TestMetadata("moveFilesBetweenModulesWithIntraModuleInliner")
+ public void testMoveFilesBetweenModulesWithIntraModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/");
+ }
+
+ @Test
@TestMetadata("moveInlineFunctionBetweenModules")
public void testMoveInlineFunctionBetweenModules() {
runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/");
}
@Test
+ @TestMetadata("moveInlineFunctionBetweenModulesWithCrossModuleInliner")
+ public void testMoveInlineFunctionBetweenModulesWithCrossModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/");
+ }
+
+ @Test
+ @TestMetadata("moveInlineFunctionBetweenModulesWithIntraModuleInliner")
+ public void testMoveInlineFunctionBetweenModulesWithIntraModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/");
+ }
+
+ @Test
@TestMetadata("multiModuleEagerInitialization")
public void testMultiModuleEagerInitialization() {
runTest("js/js.translator/testData/incremental/invalidation/multiModuleEagerInitialization/");
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 a645ae8..34965c2 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
@@ -373,6 +373,12 @@
}
@Test
+ @TestMetadata("jsCodeWithConstStringFromOtherModuleWithIRInliner")
+ public void testJsCodeWithConstStringFromOtherModuleWithIRInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/");
+ }
+
+ @Test
@TestMetadata("jsExport")
public void testJsExport() {
runTest("js/js.translator/testData/incremental/invalidation/jsExport/");
@@ -463,6 +469,18 @@
}
@Test
+ @TestMetadata("moveAndModifyInlineFunctionWithCrossModuleInliner")
+ public void testMoveAndModifyInlineFunctionWithCrossModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithCrossModuleInliner/");
+ }
+
+ @Test
+ @TestMetadata("moveAndModifyInlineFunctionWithIntraModuleInliner")
+ public void testMoveAndModifyInlineFunctionWithIntraModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIntraModuleInliner/");
+ }
+
+ @Test
@TestMetadata("moveExternalDeclarationsBetweenFiles")
public void testMoveExternalDeclarationsBetweenFiles() {
runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenFiles/");
@@ -481,12 +499,36 @@
}
@Test
+ @TestMetadata("moveFilesBetweenModulesWithCrossModuleInliner")
+ public void testMoveFilesBetweenModulesWithCrossModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/");
+ }
+
+ @Test
+ @TestMetadata("moveFilesBetweenModulesWithIntraModuleInliner")
+ public void testMoveFilesBetweenModulesWithIntraModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/");
+ }
+
+ @Test
@TestMetadata("moveInlineFunctionBetweenModules")
public void testMoveInlineFunctionBetweenModules() {
runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/");
}
@Test
+ @TestMetadata("moveInlineFunctionBetweenModulesWithCrossModuleInliner")
+ public void testMoveInlineFunctionBetweenModulesWithCrossModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/");
+ }
+
+ @Test
+ @TestMetadata("moveInlineFunctionBetweenModulesWithIntraModuleInliner")
+ public void testMoveInlineFunctionBetweenModulesWithIntraModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/");
+ }
+
+ @Test
@TestMetadata("multiModuleEagerInitialization")
public void testMultiModuleEagerInitialization() {
runTest("js/js.translator/testData/incremental/invalidation/multiModuleEagerInitialization/");
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 ac8c34b..cdd3af5 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
@@ -373,6 +373,12 @@
}
@Test
+ @TestMetadata("jsCodeWithConstStringFromOtherModuleWithIRInliner")
+ public void testJsCodeWithConstStringFromOtherModuleWithIRInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/");
+ }
+
+ @Test
@TestMetadata("jsExport")
public void testJsExport() {
runTest("js/js.translator/testData/incremental/invalidation/jsExport/");
@@ -463,6 +469,18 @@
}
@Test
+ @TestMetadata("moveAndModifyInlineFunctionWithCrossModuleInliner")
+ public void testMoveAndModifyInlineFunctionWithCrossModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithCrossModuleInliner/");
+ }
+
+ @Test
+ @TestMetadata("moveAndModifyInlineFunctionWithIntraModuleInliner")
+ public void testMoveAndModifyInlineFunctionWithIntraModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIntraModuleInliner/");
+ }
+
+ @Test
@TestMetadata("moveExternalDeclarationsBetweenFiles")
public void testMoveExternalDeclarationsBetweenFiles() {
runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenFiles/");
@@ -481,12 +499,36 @@
}
@Test
+ @TestMetadata("moveFilesBetweenModulesWithCrossModuleInliner")
+ public void testMoveFilesBetweenModulesWithCrossModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/");
+ }
+
+ @Test
+ @TestMetadata("moveFilesBetweenModulesWithIntraModuleInliner")
+ public void testMoveFilesBetweenModulesWithIntraModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/");
+ }
+
+ @Test
@TestMetadata("moveInlineFunctionBetweenModules")
public void testMoveInlineFunctionBetweenModules() {
runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/");
}
@Test
+ @TestMetadata("moveInlineFunctionBetweenModulesWithCrossModuleInliner")
+ public void testMoveInlineFunctionBetweenModulesWithCrossModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/");
+ }
+
+ @Test
+ @TestMetadata("moveInlineFunctionBetweenModulesWithIntraModuleInliner")
+ public void testMoveInlineFunctionBetweenModulesWithIntraModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/");
+ }
+
+ @Test
@TestMetadata("multiModuleEagerInitialization")
public void testMultiModuleEagerInitialization() {
runTest("js/js.translator/testData/incremental/invalidation/multiModuleEagerInitialization/");
diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/project.fir.info b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/project.fir.info
index b0f3e67..4b103b7 100644
--- a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/project.fir.info
+++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/project.fir.info
@@ -1,26 +1,32 @@
MODULES: lib1, lib2, main
STEP 0:
+ language: -IrIntraModuleInlinerBeforeKlibSerialization, -IrCrossModuleInlinerBeforeKlibSerialization
libs: lib1, lib2, main
dirty js modules: lib1, lib2, main
dirty js files: lib1/l1, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction, main, main/m, main/m.export
STEP 1..3:
+ language: -IrIntraModuleInlinerBeforeKlibSerialization, -IrCrossModuleInlinerBeforeKlibSerialization
libs: lib1, lib2, main
dirty js modules: lib1, lib2
dirty js files: lib1/l1, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction
STEP 4:
+ language: -IrIntraModuleInlinerBeforeKlibSerialization, -IrCrossModuleInlinerBeforeKlibSerialization
libs: lib1, lib2, main
dirty js modules: lib2
dirty js files: lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction
STEP 5:
+ language: -IrIntraModuleInlinerBeforeKlibSerialization, -IrCrossModuleInlinerBeforeKlibSerialization
libs: lib1, lib2, main
dirty js modules: lib1
dirty js files: lib1/l1
STEP 6:
+ language: -IrIntraModuleInlinerBeforeKlibSerialization, -IrCrossModuleInlinerBeforeKlibSerialization
libs: lib1, lib2, main
dirty js modules: lib2
dirty js files: lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction
STEP 7:
+ language: -IrIntraModuleInlinerBeforeKlibSerialization, -IrCrossModuleInlinerBeforeKlibSerialization
libs: lib1, lib2, main
dirty js modules: lib1, lib2
dirty js files: lib1/l1, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction
diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/directives.txt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/directives.txt
new file mode 100644
index 0000000..57a07ce
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/directives.txt
@@ -0,0 +1 @@
+// TARGET_BACKEND: JS_IR, JS_IR_ES6
diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/l1.0.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/l1.0.kt
new file mode 100644
index 0000000..89a021b
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/l1.0.kt
@@ -0,0 +1,2 @@
+const val CONST_KEY = "KEY"
+const val CONST_VALUE = "0"
diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/l1.1.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/l1.1.kt
new file mode 100644
index 0000000..e7f6198
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/l1.1.kt
@@ -0,0 +1,2 @@
+const val CONST_KEY = "KEY"
+const val CONST_VALUE = "1"
diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/l1.2.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/l1.2.kt
new file mode 100644
index 0000000..80d184f
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/l1.2.kt
@@ -0,0 +1,2 @@
+const val CONST_KEY = "KEY"
+const val CONST_VALUE = 2
diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/l1.3.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/l1.3.kt
new file mode 100644
index 0000000..72c28c8
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/l1.3.kt
@@ -0,0 +1,2 @@
+const val CONST_KEY = "KEY"
+const val CONST_VALUE = 3
diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/l1.5.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/l1.5.kt
new file mode 100644
index 0000000..4f02e80
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/l1.5.kt
@@ -0,0 +1,2 @@
+const val CONST_KEY = "KEY"
+const val CONST_VALUE = 6
diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/l1.7.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/l1.7.kt
new file mode 100644
index 0000000..992680f
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/l1.7.kt
@@ -0,0 +1,2 @@
+const val CONST_KEY = "KEY"
+const val CONST_VALUE = 7
diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/module.fir.info b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/module.fir.info
new file mode 100644
index 0000000..b49b580
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib1/module.fir.info
@@ -0,0 +1,26 @@
+STEP 0:
+ modifications:
+ U : l1.0.kt -> l1.kt
+ added file: l1.kt
+STEP 1:
+ modifications:
+ U : l1.1.kt -> l1.kt
+ modified ir: l1.kt
+STEP 2:
+ modifications:
+ U : l1.2.kt -> l1.kt
+ modified ir: l1.kt
+STEP 3:
+ modifications:
+ U : l1.3.kt -> l1.kt
+ modified ir: l1.kt
+STEP 4:
+STEP 5:
+ modifications:
+ U : l1.5.kt -> l1.kt
+ modified ir: l1.kt
+STEP 6:
+STEP 7:
+ modifications:
+ U : l1.7.kt -> l1.kt
+ modified ir: l1.kt
diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib2/inlineFunction.0.6.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib2/inlineFunction.0.6.kt
new file mode 100644
index 0000000..6834b50
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib2/inlineFunction.0.6.kt
@@ -0,0 +1,3 @@
+inline fun inlineFunction(): String {
+ return js("var testObj = { $CONST_KEY: '$CONST_VALUE' }; testObj.$CONST_KEY") as String
+}
diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib2/inlineFunction.4.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib2/inlineFunction.4.kt
new file mode 100644
index 0000000..6c48714
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib2/inlineFunction.4.kt
@@ -0,0 +1,3 @@
+inline fun inlineFunction(): String {
+ return js("'4'") as String
+}
diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib2/inlineFunctionProxy.0.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib2/inlineFunctionProxy.0.kt
new file mode 100644
index 0000000..f36f366
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib2/inlineFunctionProxy.0.kt
@@ -0,0 +1 @@
+fun inlineFunctionProxy() = inlineFunction()
diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib2/module.fir.info b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib2/module.fir.info
new file mode 100644
index 0000000..3a9f18a
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib2/module.fir.info
@@ -0,0 +1,27 @@
+STEP 0:
+ dependencies: lib1
+ modifications:
+ U : inlineFunction.0.6.kt -> inlineFunction.kt
+ U : inlineFunctionProxy.0.kt -> inlineFunctionProxy.kt
+ U : simpleFunction.0.6.kt -> simpleFunction.kt
+ added file: inlineFunction.kt, inlineFunctionProxy.kt, simpleFunction.kt
+STEP 1..3:
+ dependencies: lib1
+ modified ir: simpleFunction.kt, inlineFunction.kt inlineFunctionProxy.kt
+STEP 4:
+ dependencies: lib1
+ modifications:
+ U : inlineFunction.4.kt -> inlineFunction.kt
+ U : simpleFunction.4.kt -> simpleFunction.kt
+ modified ir: simpleFunction.kt, inlineFunction.kt inlineFunctionProxy.kt
+STEP 5:
+ dependencies: lib1
+STEP 6:
+ dependencies: lib1
+ modifications:
+ U : inlineFunction.0.6.kt -> inlineFunction.kt
+ U : simpleFunction.0.6.kt -> simpleFunction.kt
+ modified ir: simpleFunction.kt, inlineFunction.kt inlineFunctionProxy.kt
+STEP 7:
+ dependencies: lib1
+ modified ir: simpleFunction.kt, inlineFunction.kt inlineFunctionProxy.kt
diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib2/simpleFunction.0.6.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib2/simpleFunction.0.6.kt
new file mode 100644
index 0000000..9fb59d4
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib2/simpleFunction.0.6.kt
@@ -0,0 +1,3 @@
+fun simpleFunction(): String {
+ return js("var testObj = { $CONST_KEY: '$CONST_VALUE' }; testObj.$CONST_KEY") as String
+}
diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib2/simpleFunction.4.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib2/simpleFunction.4.kt
new file mode 100644
index 0000000..9c2e990
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/lib2/simpleFunction.4.kt
@@ -0,0 +1,3 @@
+fun simpleFunction(): String {
+ return js("'4'") as String
+}
diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/main/m.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/main/m.kt
new file mode 100644
index 0000000..4a3005f
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/main/m.kt
@@ -0,0 +1,11 @@
+fun box(stepId: Int, isWasm: Boolean): String {
+ val expected = if (stepId == 5) stepId - 1 else stepId
+
+ var got = simpleFunction()
+ if (got != "$expected") return "Fail simpleFunction: '$got' != '$expected'"
+
+ got = inlineFunctionProxy()
+ if (got != "$expected") return "Fail inlineFunctionProxy: '$got' != '$expected'"
+
+ return "OK"
+}
diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/main/module.info b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/main/module.info
new file mode 100644
index 0000000..87a25fa
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/main/module.info
@@ -0,0 +1,5 @@
+STEP 0:
+ dependencies: lib1, lib2
+ added file: m.kt
+STEP 1..7:
+ dependencies: lib1, lib2
diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/project.fir.info b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/project.fir.info
new file mode 100644
index 0000000..76dba3b
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModuleWithIRInliner/project.fir.info
@@ -0,0 +1,32 @@
+MODULES: lib1, lib2, main
+
+STEP 0:
+ language: +IrIntraModuleInlinerBeforeKlibSerialization
+ libs: lib1, lib2, main
+ dirty js modules: lib1, lib2, main
+ dirty js files: lib1/l1, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction, main, main/m, main/m.export
+STEP 1..3:
+ language: +IrIntraModuleInlinerBeforeKlibSerialization
+ libs: lib1, lib2, main
+ dirty js modules: lib1, lib2
+ dirty js files: lib1/l1, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction
+STEP 4:
+ language: +IrIntraModuleInlinerBeforeKlibSerialization
+ libs: lib1, lib2, main
+ dirty js modules: lib2
+ dirty js files: lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction
+STEP 5:
+ language: +IrIntraModuleInlinerBeforeKlibSerialization
+ libs: lib1, lib2, main
+ dirty js modules: lib1
+ dirty js files: lib1/l1
+STEP 6:
+ language: +IrIntraModuleInlinerBeforeKlibSerialization
+ libs: lib1, lib2, main
+ dirty js modules: lib2
+ dirty js files: lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction
+STEP 7:
+ language: +IrIntraModuleInlinerBeforeKlibSerialization
+ libs: lib1, lib2, main
+ dirty js modules: lib1, lib2
+ dirty js files: lib1/l1, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction
diff --git a/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunction/project.info b/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunction/project.info
index c2561e2..913d942 100644
--- a/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunction/project.info
+++ b/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunction/project.info
@@ -1,10 +1,12 @@
MODULES: lib1, main
STEP 0:
+ language: -IrIntraModuleInlinerBeforeKlibSerialization, -IrCrossModuleInlinerBeforeKlibSerialization
libs: lib1, main
dirty js modules: lib1, main
dirty js files: lib1/l1a, lib1/l1b, lib1/test, main/m, main/m.export, main
STEP 1:
+ language: -IrIntraModuleInlinerBeforeKlibSerialization, -IrCrossModuleInlinerBeforeKlibSerialization
libs: lib1, main
dirty js modules: lib1
dirty js files: lib1/l1a, lib1/l1b, lib1/test
diff --git a/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/lib1/l1a.0.kt b/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/lib1/l1a.0.kt
new file mode 100644
index 0000000..6034641
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/lib1/l1a.0.kt
@@ -0,0 +1 @@
+inline fun inlineFun() = 0
diff --git a/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/lib1/l1a.1.kt b/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/lib1/l1a.1.kt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/lib1/l1a.1.kt
diff --git a/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/lib1/l1b.0.kt b/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/lib1/l1b.0.kt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/lib1/l1b.0.kt
diff --git a/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/lib1/l1b.1.kt b/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/lib1/l1b.1.kt
new file mode 100644
index 0000000..6d3b263
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/lib1/l1b.1.kt
@@ -0,0 +1 @@
+inline fun inlineFun() = 1
diff --git a/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/lib1/module.info b/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/lib1/module.info
new file mode 100644
index 0000000..30e8220
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/lib1/module.info
@@ -0,0 +1,10 @@
+STEP 0:
+ modifications:
+ U : l1a.0.kt -> l1a.kt
+ U : l1b.0.kt -> l1b.kt
+ added file: l1a.kt, l1b.kt, test.kt
+STEP 1:
+ modifications:
+ U : l1a.1.kt -> l1a.kt
+ U : l1b.1.kt -> l1b.kt
+ modified ir: l1a.kt, l1b.kt test.kt
diff --git a/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/lib1/test.kt b/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/lib1/test.kt
new file mode 100644
index 0000000..1eac76c
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/lib1/test.kt
@@ -0,0 +1 @@
+fun test() = inlineFun()
diff --git a/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/main/m.kt b/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/main/m.kt
new file mode 100644
index 0000000..1de2a70
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/main/m.kt
@@ -0,0 +1,7 @@
+fun box(stepId: Int, isWasm: Boolean): String {
+ val x = test()
+ if (x != stepId) {
+ return "Fail: $x != $stepId"
+ }
+ return "OK"
+}
diff --git a/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/main/module.info b/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/main/module.info
new file mode 100644
index 0000000..5d087aa
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/main/module.info
@@ -0,0 +1,5 @@
+STEP 0:
+ dependencies: lib1
+ added file: m.kt
+STEP 1:
+ dependencies: lib1
diff --git a/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/project.info b/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/project.info
new file mode 100644
index 0000000..a4c4416
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIRInliner/project.info
@@ -0,0 +1,12 @@
+MODULES: lib1, main
+
+STEP 0:
+ language: +IrIntraModuleInlinerBeforeKlibSerialization
+ libs: lib1, main
+ dirty js modules: lib1, main
+ dirty js files: lib1/l1a, lib1/l1b, lib1/test, main/m, main/m.export, main
+STEP 1:
+ language: +IrIntraModuleInlinerBeforeKlibSerialization
+ libs: lib1, main
+ dirty js modules: lib1
+ dirty js files: lib1/l1a, lib1/l1b, lib1/test
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModules/project.info b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModules/project.info
index d8bbf0c..f20cd48 100644
--- a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModules/project.info
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModules/project.info
@@ -1,14 +1,17 @@
MODULES: lib1, lib2, lib3, main
STEP 0:
+ language: -IrIntraModuleInlinerBeforeKlibSerialization, -IrCrossModuleInlinerBeforeKlibSerialization
libs: lib1, lib2, lib3, main
dirty js modules: lib1, lib2, lib3, main
dirty js files: lib1/l11, lib1/l12, lib2/l21, lib3/l3, main/m, main/m.export, main
STEP 1:
+ language: -IrIntraModuleInlinerBeforeKlibSerialization, -IrCrossModuleInlinerBeforeKlibSerialization
libs: lib1, lib2, lib3, main
dirty js modules: lib1, lib2, lib3, main
dirty js files: lib2/l21, lib2/l22, lib3/l3, main/m
STEP 2:
+ language: -IrIntraModuleInlinerBeforeKlibSerialization, -IrCrossModuleInlinerBeforeKlibSerialization
libs: lib1, lib2, lib3, main
dirty js modules: lib1, lib2, lib3, main
dirty js files: lib1/l12_n, lib2/l21, lib3/l3, main/m
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib1/l11.kt b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib1/l11.kt
new file mode 100644
index 0000000..6efca34
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib1/l11.kt
@@ -0,0 +1 @@
+inline fun foo(a: Int) = a * 2
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib1/l12.kt b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib1/l12.kt
new file mode 100644
index 0000000..7a486e1
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib1/l12.kt
@@ -0,0 +1 @@
+inline fun bar(b: Int) = b - 3
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib1/l12_n.2.kt b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib1/l12_n.2.kt
new file mode 100644
index 0000000..a4b0c99
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib1/l12_n.2.kt
@@ -0,0 +1 @@
+inline fun bar(b: Int) = b - 5
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib1/module.info b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib1/module.info
new file mode 100644
index 0000000..37e34cd
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib1/module.info
@@ -0,0 +1,11 @@
+STEP 0:
+ added file: l11.kt, l12.kt
+STEP 1:
+ modifications:
+ D : l12.kt
+ removed file: l12.kt
+STEP 2:
+ modifications:
+ U : l12_n.2.kt -> l12_n.kt
+ added file: l12_n.kt
+
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib2/l21.kt b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib2/l21.kt
new file mode 100644
index 0000000..6f4ceeb
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib2/l21.kt
@@ -0,0 +1 @@
+inline fun qux(x: Int, y: Int) = foo(x) + bar(y)
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib2/l22.1.kt b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib2/l22.1.kt
new file mode 100644
index 0000000..a8c4776
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib2/l22.1.kt
@@ -0,0 +1 @@
+inline fun bar(b: Int) = b - 4
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib2/module.info b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib2/module.info
new file mode 100644
index 0000000..55f7b06
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib2/module.info
@@ -0,0 +1,15 @@
+STEP 0:
+ dependencies: lib1
+ added file: l21.kt
+STEP 1:
+ dependencies: lib1
+ modifications:
+ U : l22.1.kt -> l22.kt
+ added file: l22.kt
+ modified ir: l21.kt
+STEP 2:
+ dependencies: lib1
+ modifications:
+ D : l22.kt
+ modified ir: l21.kt
+ removed file: l22.kt
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib3/l3.kt b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib3/l3.kt
new file mode 100644
index 0000000..110a30a
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib3/l3.kt
@@ -0,0 +1 @@
+inline fun dex(x: Int, y: Int) = qux(x * y, y - x)
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib3/module.info b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib3/module.info
new file mode 100644
index 0000000..867f179
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/lib3/module.info
@@ -0,0 +1,6 @@
+STEP 0:
+ dependencies: lib1, lib2
+ added file: l3.kt
+STEP 1..2:
+ dependencies: lib1, lib2
+ modified ir: l3.kt
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/main/m.kt b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/main/m.kt
new file mode 100644
index 0000000..792c2a2
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/main/m.kt
@@ -0,0 +1,9 @@
+fun box(stepId: Int, isWasm: Boolean): String {
+ when (stepId) {
+ 0 -> if (dex(4, 2) != 11) return "Fail"
+ 1 -> if (dex(4, 2) != 10) return "Fail"
+ 2 -> if (dex(4, 2) != 9) return "Fail"
+ else -> return "Unknown"
+ }
+ return "OK"
+}
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/main/module.info b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/main/module.info
new file mode 100644
index 0000000..9ac8273
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/main/module.info
@@ -0,0 +1,6 @@
+STEP 0:
+ dependencies: lib1, lib2, lib3
+ added file: m.kt
+STEP 1..2:
+ dependencies: lib1, lib2, lib3
+ modified ir: m.kt
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/project.info b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/project.info
new file mode 100644
index 0000000..dfa6ef8
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/project.info
@@ -0,0 +1,17 @@
+MODULES: lib1, lib2, lib3, main
+
+STEP 0:
+ language: +IrIntraModuleInlinerBeforeKlibSerialization, +IrCrossModuleInlinerBeforeKlibSerialization
+ libs: lib1, lib2, lib3, main
+ dirty js modules: lib1, lib2, lib3, main
+ dirty js files: lib1/l11, lib1/l12, lib2/l21, lib3/l3, main/m, main/m.export, main
+STEP 1:
+ language: +IrIntraModuleInlinerBeforeKlibSerialization, +IrCrossModuleInlinerBeforeKlibSerialization
+ libs: lib1, lib2, lib3, main
+ dirty js modules: lib1, lib2, lib3, main
+ dirty js files: lib2/l21, lib2/l22, lib3/l3, main/m
+STEP 2:
+ language: +IrIntraModuleInlinerBeforeKlibSerialization, +IrCrossModuleInlinerBeforeKlibSerialization
+ libs: lib1, lib2, lib3, main
+ dirty js modules: lib1, lib2, lib3, main
+ dirty js files: lib1/l12_n, lib2/l21, lib3/l3, main/m
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib1/l11.kt b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib1/l11.kt
new file mode 100644
index 0000000..6efca34
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib1/l11.kt
@@ -0,0 +1 @@
+inline fun foo(a: Int) = a * 2
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib1/l12.kt b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib1/l12.kt
new file mode 100644
index 0000000..7a486e1
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib1/l12.kt
@@ -0,0 +1 @@
+inline fun bar(b: Int) = b - 3
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib1/l12_n.2.kt b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib1/l12_n.2.kt
new file mode 100644
index 0000000..a4b0c99
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib1/l12_n.2.kt
@@ -0,0 +1 @@
+inline fun bar(b: Int) = b - 5
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib1/module.info b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib1/module.info
new file mode 100644
index 0000000..37e34cd
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib1/module.info
@@ -0,0 +1,11 @@
+STEP 0:
+ added file: l11.kt, l12.kt
+STEP 1:
+ modifications:
+ D : l12.kt
+ removed file: l12.kt
+STEP 2:
+ modifications:
+ U : l12_n.2.kt -> l12_n.kt
+ added file: l12_n.kt
+
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib2/l21.kt b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib2/l21.kt
new file mode 100644
index 0000000..6f4ceeb
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib2/l21.kt
@@ -0,0 +1 @@
+inline fun qux(x: Int, y: Int) = foo(x) + bar(y)
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib2/l22.1.kt b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib2/l22.1.kt
new file mode 100644
index 0000000..a8c4776
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib2/l22.1.kt
@@ -0,0 +1 @@
+inline fun bar(b: Int) = b - 4
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib2/module.info b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib2/module.info
new file mode 100644
index 0000000..55f7b06
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib2/module.info
@@ -0,0 +1,15 @@
+STEP 0:
+ dependencies: lib1
+ added file: l21.kt
+STEP 1:
+ dependencies: lib1
+ modifications:
+ U : l22.1.kt -> l22.kt
+ added file: l22.kt
+ modified ir: l21.kt
+STEP 2:
+ dependencies: lib1
+ modifications:
+ D : l22.kt
+ modified ir: l21.kt
+ removed file: l22.kt
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib3/l3.kt b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib3/l3.kt
new file mode 100644
index 0000000..110a30a
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib3/l3.kt
@@ -0,0 +1 @@
+inline fun dex(x: Int, y: Int) = qux(x * y, y - x)
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib3/module.info b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib3/module.info
new file mode 100644
index 0000000..93ef92c
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/lib3/module.info
@@ -0,0 +1,6 @@
+STEP 0:
+ dependencies: lib1, lib2
+ added file: l3.kt
+STEP 1..2:
+ dependencies: lib1, lib2
+ updated imports: l3.kt
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/main/m.kt b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/main/m.kt
new file mode 100644
index 0000000..792c2a2
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/main/m.kt
@@ -0,0 +1,9 @@
+fun box(stepId: Int, isWasm: Boolean): String {
+ when (stepId) {
+ 0 -> if (dex(4, 2) != 11) return "Fail"
+ 1 -> if (dex(4, 2) != 10) return "Fail"
+ 2 -> if (dex(4, 2) != 9) return "Fail"
+ else -> return "Unknown"
+ }
+ return "OK"
+}
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/main/module.info b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/main/module.info
new file mode 100644
index 0000000..4d0b6da
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/main/module.info
@@ -0,0 +1,6 @@
+STEP 0:
+ dependencies: lib1, lib2, lib3
+ added file: m.kt
+STEP 1..2:
+ dependencies: lib1, lib2, lib3
+ updated imports: m.kt
diff --git a/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/project.info b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/project.info
new file mode 100644
index 0000000..8857374
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/project.info
@@ -0,0 +1,17 @@
+MODULES: lib1, lib2, lib3, main
+
+STEP 0:
+ language: +IrIntraModuleInlinerBeforeKlibSerialization, -IrCrossModuleInlinerBeforeKlibSerialization
+ libs: lib1, lib2, lib3, main
+ dirty js modules: lib1, lib2, lib3, main
+ dirty js files: lib1/l11, lib1/l12, lib2/l21, lib3/l3, main/m, main/m.export, main
+STEP 1:
+ language: +IrIntraModuleInlinerBeforeKlibSerialization, -IrCrossModuleInlinerBeforeKlibSerialization
+ libs: lib1, lib2, lib3, main
+ dirty js modules: lib1, lib2, lib3, main
+ dirty js files: lib2/l21, lib2/l22, lib3/l3, main/m
+STEP 2:
+ language: +IrIntraModuleInlinerBeforeKlibSerialization, -IrCrossModuleInlinerBeforeKlibSerialization
+ libs: lib1, lib2, lib3, main
+ dirty js modules: lib1, lib2, lib3, main
+ dirty js files: lib1/l12_n, lib2/l21, lib3/l3, main/m
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/project.info b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/project.info
index 0626cd8..75f8b30 100644
--- a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/project.info
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/project.info
@@ -1,10 +1,12 @@
MODULES: lib1, lib2, lib3, main
STEP 0:
+ language: -IrIntraModuleInlinerBeforeKlibSerialization, -IrCrossModuleInlinerBeforeKlibSerialization
libs: lib1, lib2, lib3, main
dirty js modules: lib1, lib2, lib3, main
dirty js files: lib1/l1, lib2/l2, lib3/l3, main/m, main/m.export, main
STEP 1:
+ language: -IrIntraModuleInlinerBeforeKlibSerialization, -IrCrossModuleInlinerBeforeKlibSerialization
libs: lib1, lib2, lib3, main
dirty js modules: lib1, lib2, lib3, main
dirty js files: lib1/l1, lib2/l2, lib2/l22, lib3/l3, main/m
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib1/l1.1.kt b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib1/l1.1.kt
new file mode 100644
index 0000000..b08d4e0
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib1/l1.1.kt
@@ -0,0 +1 @@
+inline fun foo(a: Int) = a * 3
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib1/l1.kt b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib1/l1.kt
new file mode 100644
index 0000000..e26e69a
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib1/l1.kt
@@ -0,0 +1,3 @@
+inline fun foo(a: Int) = a * 2
+
+inline fun bar(b: Int) = b - 3
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib1/module.info b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib1/module.info
new file mode 100644
index 0000000..b00df4e
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib1/module.info
@@ -0,0 +1,6 @@
+STEP 0:
+ added file: l1.kt
+STEP 1:
+ modifications:
+ U : l1.1.kt -> l1.kt
+ modified ir: l1.kt
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib2/l2.kt b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib2/l2.kt
new file mode 100644
index 0000000..6f4ceeb
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib2/l2.kt
@@ -0,0 +1 @@
+inline fun qux(x: Int, y: Int) = foo(x) + bar(y)
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib2/l22.1.kt b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib2/l22.1.kt
new file mode 100644
index 0000000..a8c4776
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib2/l22.1.kt
@@ -0,0 +1 @@
+inline fun bar(b: Int) = b - 4
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib2/module.info b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib2/module.info
new file mode 100644
index 0000000..7042ed8
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib2/module.info
@@ -0,0 +1,9 @@
+STEP 0:
+ dependencies: lib1
+ added file: l2.kt
+STEP 1:
+ dependencies: lib1
+ modifications:
+ U : l22.1.kt -> l22.kt
+ added file: l22.kt
+ modified ir: l2.kt
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib3/l3.kt b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib3/l3.kt
new file mode 100644
index 0000000..110a30a
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib3/l3.kt
@@ -0,0 +1 @@
+inline fun dex(x: Int, y: Int) = qux(x * y, y - x)
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib3/module.info b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib3/module.info
new file mode 100644
index 0000000..85f4ed2
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/lib3/module.info
@@ -0,0 +1,6 @@
+STEP 0:
+ dependencies: lib1, lib2
+ added file: l3.kt
+STEP 1:
+ dependencies: lib1, lib2
+ modified ir: l3.kt
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/main/m.kt b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/main/m.kt
new file mode 100644
index 0000000..c5a96dd
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/main/m.kt
@@ -0,0 +1,8 @@
+fun box(stepId: Int, isWasm: Boolean): String {
+ when (stepId) {
+ 0 -> if (dex(4, 2) != 11) return "Fail"
+ 1 -> if (dex(4, 2) != 18) return "Fail"
+ else -> return "Unknown"
+ }
+ return "OK"
+}
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/main/module.info b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/main/module.info
new file mode 100644
index 0000000..62a82fb
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/main/module.info
@@ -0,0 +1,6 @@
+STEP 0:
+ dependencies: lib1, lib2, lib3
+ added file: m.kt
+STEP 1:
+ dependencies: lib1, lib2, lib3
+ modified ir: m.kt
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/project.info b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/project.info
new file mode 100644
index 0000000..ee9c1046
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/project.info
@@ -0,0 +1,12 @@
+MODULES: lib1, lib2, lib3, main
+
+STEP 0:
+ language: +IrIntraModuleInlinerBeforeKlibSerialization, +IrCrossModuleInlinerBeforeKlibSerialization
+ libs: lib1, lib2, lib3, main
+ dirty js modules: lib1, lib2, lib3, main
+ dirty js files: lib1/l1, lib2/l2, lib3/l3, main/m, main/m.export, main
+STEP 1:
+ language: +IrIntraModuleInlinerBeforeKlibSerialization, +IrCrossModuleInlinerBeforeKlibSerialization
+ libs: lib1, lib2, lib3, main
+ dirty js modules: lib1, lib2, lib3, main
+ dirty js files: lib1/l1, lib2/l2, lib2/l22, lib3/l3, main/m
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib1/l1.1.kt b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib1/l1.1.kt
new file mode 100644
index 0000000..b08d4e0
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib1/l1.1.kt
@@ -0,0 +1 @@
+inline fun foo(a: Int) = a * 3
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib1/l1.kt b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib1/l1.kt
new file mode 100644
index 0000000..e26e69a
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib1/l1.kt
@@ -0,0 +1,3 @@
+inline fun foo(a: Int) = a * 2
+
+inline fun bar(b: Int) = b - 3
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib1/module.info b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib1/module.info
new file mode 100644
index 0000000..b00df4e
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib1/module.info
@@ -0,0 +1,6 @@
+STEP 0:
+ added file: l1.kt
+STEP 1:
+ modifications:
+ U : l1.1.kt -> l1.kt
+ modified ir: l1.kt
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib2/l2.kt b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib2/l2.kt
new file mode 100644
index 0000000..6f4ceeb
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib2/l2.kt
@@ -0,0 +1 @@
+inline fun qux(x: Int, y: Int) = foo(x) + bar(y)
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib2/l22.1.kt b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib2/l22.1.kt
new file mode 100644
index 0000000..a8c4776
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib2/l22.1.kt
@@ -0,0 +1 @@
+inline fun bar(b: Int) = b - 4
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib2/module.info b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib2/module.info
new file mode 100644
index 0000000..7042ed8
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib2/module.info
@@ -0,0 +1,9 @@
+STEP 0:
+ dependencies: lib1
+ added file: l2.kt
+STEP 1:
+ dependencies: lib1
+ modifications:
+ U : l22.1.kt -> l22.kt
+ added file: l22.kt
+ modified ir: l2.kt
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib3/l3.kt b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib3/l3.kt
new file mode 100644
index 0000000..110a30a
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib3/l3.kt
@@ -0,0 +1 @@
+inline fun dex(x: Int, y: Int) = qux(x * y, y - x)
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib3/module.info b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib3/module.info
new file mode 100644
index 0000000..08a3290
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/lib3/module.info
@@ -0,0 +1,6 @@
+STEP 0:
+ dependencies: lib1, lib2
+ added file: l3.kt
+STEP 1:
+ dependencies: lib1, lib2
+ updated imports: l3.kt
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/main/m.kt b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/main/m.kt
new file mode 100644
index 0000000..c5a96dd
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/main/m.kt
@@ -0,0 +1,8 @@
+fun box(stepId: Int, isWasm: Boolean): String {
+ when (stepId) {
+ 0 -> if (dex(4, 2) != 11) return "Fail"
+ 1 -> if (dex(4, 2) != 18) return "Fail"
+ else -> return "Unknown"
+ }
+ return "OK"
+}
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/main/module.info b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/main/module.info
new file mode 100644
index 0000000..18fc898
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/main/module.info
@@ -0,0 +1,6 @@
+STEP 0:
+ dependencies: lib1, lib2, lib3
+ added file: m.kt
+STEP 1:
+ dependencies: lib1, lib2, lib3
+ updated imports: m.kt
diff --git a/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/project.info b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/project.info
new file mode 100644
index 0000000..c6370ef
--- /dev/null
+++ b/js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/project.info
@@ -0,0 +1,12 @@
+MODULES: lib1, lib2, lib3, main
+
+STEP 0:
+ language: +IrIntraModuleInlinerBeforeKlibSerialization, -IrCrossModuleInlinerBeforeKlibSerialization
+ libs: lib1, lib2, lib3, main
+ dirty js modules: lib1, lib2, lib3, main
+ dirty js files: lib1/l1, lib2/l2, lib3/l3, main/m, main/m.export, main
+STEP 1:
+ language: +IrIntraModuleInlinerBeforeKlibSerialization, -IrCrossModuleInlinerBeforeKlibSerialization
+ libs: lib1, lib2, lib3, main
+ dirty js modules: lib1, lib2, lib3, main
+ dirty js files: lib1/l1, lib2/l2, lib2/l22, lib3/l3, main/m
diff --git a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/incremental/FirWasmInvalidationTestGenerated.java b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/incremental/FirWasmInvalidationTestGenerated.java
index f312a05..9c7cf2b 100644
--- a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/incremental/FirWasmInvalidationTestGenerated.java
+++ b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/incremental/FirWasmInvalidationTestGenerated.java
@@ -367,6 +367,18 @@
}
@Test
+ @TestMetadata("moveAndModifyInlineFunctionWithCrossModuleInliner")
+ public void testMoveAndModifyInlineFunctionWithCrossModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithCrossModuleInliner/");
+ }
+
+ @Test
+ @TestMetadata("moveAndModifyInlineFunctionWithIntraModuleInliner")
+ public void testMoveAndModifyInlineFunctionWithIntraModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunctionWithIntraModuleInliner/");
+ }
+
+ @Test
@TestMetadata("moveExternalDeclarationsBetweenJsModules")
public void testMoveExternalDeclarationsBetweenJsModules() {
runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenJsModules/");
@@ -379,12 +391,36 @@
}
@Test
+ @TestMetadata("moveFilesBetweenModulesWithCrossModuleInliner")
+ public void testMoveFilesBetweenModulesWithCrossModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithCrossModuleInliner/");
+ }
+
+ @Test
+ @TestMetadata("moveFilesBetweenModulesWithIntraModuleInliner")
+ public void testMoveFilesBetweenModulesWithIntraModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveFilesBetweenModulesWithIntraModuleInliner/");
+ }
+
+ @Test
@TestMetadata("moveInlineFunctionBetweenModules")
public void testMoveInlineFunctionBetweenModules() {
runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/");
}
@Test
+ @TestMetadata("moveInlineFunctionBetweenModulesWithCrossModuleInliner")
+ public void testMoveInlineFunctionBetweenModulesWithCrossModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithCrossModuleInliner/");
+ }
+
+ @Test
+ @TestMetadata("moveInlineFunctionBetweenModulesWithIntraModuleInliner")
+ public void testMoveInlineFunctionBetweenModulesWithIntraModuleInliner() {
+ runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModulesWithIntraModuleInliner/");
+ }
+
+ @Test
@TestMetadata("multiModuleEagerInitialization")
public void testMultiModuleEagerInitialization() {
runTest("js/js.translator/testData/incremental/invalidation/multiModuleEagerInitialization/");