From 91edbeb7478802531139a04cbab8623914612d97 Mon Sep 17 00:00:00 2001 From: Alexander Korepanov Date: Wed, 11 Oct 2023 16:48:12 +0200 Subject: [PATCH] [JS IR] Add tests for checking constant inlining with JS IR IC ^KT-62425 --- ...JsFirInvalidationPerFileTestGenerated.java | 12 ++++++ ...FirInvalidationPerModuleTestGenerated.java | 12 ++++++ ...IrES6InvalidationPerFileTestGenerated.java | 12 ++++++ ...ES6InvalidationPerModuleTestGenerated.java | 12 ++++++ .../JsIrInvalidationPerFileTestGenerated.java | 12 ++++++ ...sIrInvalidationPerModuleTestGenerated.java | 12 ++++++ .../companionConstVal/lib1/l1.0.kt | 5 +++ .../companionConstVal/lib1/l1.1.kt | 5 +++ .../companionConstVal/lib1/l1.2.kt | 5 +++ .../companionConstVal/lib1/l1.3.kt | 5 +++ .../companionConstVal/lib1/l1.5.kt | 5 +++ .../companionConstVal/lib1/l1.7.kt | 5 +++ .../companionConstVal/lib1/module.fir.info | 26 +++++++++++ .../companionConstVal/lib1/module.info | 28 ++++++++++++ .../companionConstVal/lib2/inlineChild.0.6.kt | 5 +++ .../companionConstVal/lib2/inlineChild.4.kt | 5 +++ .../lib2/inlineChildProxy.0.kt | 1 + .../lib2/inlineFunction.0.6.kt | 3 ++ .../lib2/inlineFunction.4.kt | 3 ++ .../lib2/inlineFunctionProxy.0.kt | 1 + .../companionConstVal/lib2/module.fir.info | 38 ++++++++++++++++ .../companionConstVal/lib2/module.info | 43 +++++++++++++++++++ .../companionConstVal/lib2/simpleChild.0.6.kt | 5 +++ .../companionConstVal/lib2/simpleChild.4.kt | 5 +++ .../lib2/simpleFunction.0.6.kt | 3 ++ .../lib2/simpleFunction.4.kt | 3 ++ .../invalidation/companionConstVal/main/m.kt | 17 ++++++++ .../companionConstVal/main/module.info | 5 +++ .../companionConstVal/project.fir.info | 26 +++++++++++ .../companionConstVal/project.info | 18 ++++++++ .../lib1/l1.0.kt | 2 + .../lib1/l1.1.kt | 2 + .../lib1/l1.2.kt | 2 + .../lib1/l1.3.kt | 2 + .../lib1/l1.5.kt | 2 + .../lib1/l1.7.kt | 2 + .../lib1/module.fir.info | 26 +++++++++++ .../lib1/module.info | 28 ++++++++++++ .../lib2/inlineFunction.0.6.kt | 3 ++ .../lib2/inlineFunction.4.kt | 3 ++ .../lib2/inlineFunctionProxy.0.kt | 1 + .../lib2/module.fir.info | 31 +++++++++++++ .../lib2/module.info | 36 ++++++++++++++++ .../lib2/simpleFunction.0.6.kt | 3 ++ .../lib2/simpleFunction.4.kt | 3 ++ .../main/m.kt | 11 +++++ .../main/module.info | 5 +++ .../project.fir.info | 26 +++++++++++ .../project.info | 18 ++++++++ 49 files changed, 543 insertions(+) create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.0.kt create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.1.kt create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.2.kt create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.3.kt create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.5.kt create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.7.kt create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/module.fir.info create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/module.info create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineChild.0.6.kt create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineChild.4.kt create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineChildProxy.0.kt create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineFunction.0.6.kt create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineFunction.4.kt create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineFunctionProxy.0.kt create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/module.fir.info create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/module.info create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/simpleChild.0.6.kt create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/simpleChild.4.kt create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/simpleFunction.0.6.kt create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/simpleFunction.4.kt create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/main/m.kt create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/main/module.info create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/project.fir.info create mode 100644 js/js.translator/testData/incremental/invalidation/companionConstVal/project.info create mode 100644 js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/l1.0.kt create mode 100644 js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/l1.1.kt create mode 100644 js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/l1.2.kt create mode 100644 js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/l1.3.kt create mode 100644 js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/l1.5.kt create mode 100644 js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/l1.7.kt create mode 100644 js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/module.fir.info create mode 100644 js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/module.info create mode 100644 js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/inlineFunction.0.6.kt create mode 100644 js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/inlineFunction.4.kt create mode 100644 js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/inlineFunctionProxy.0.kt create mode 100644 js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/module.fir.info create mode 100644 js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/module.info create mode 100644 js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/simpleFunction.0.6.kt create mode 100644 js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/simpleFunction.4.kt create mode 100644 js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/main/m.kt create mode 100644 js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/main/module.info create mode 100644 js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/project.fir.info create mode 100644 js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/project.info 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 7c0e32dbd4e..e2ff2545b20 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 @@ -61,6 +61,12 @@ public class JsFirInvalidationPerFileTestGenerated extends AbstractJsFirInvalida runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/"); } + @Test + @TestMetadata("companionConstVal") + public void testCompanionConstVal() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/companionConstVal/"); + } + @Test @TestMetadata("companionFunction") public void testCompanionFunction() throws Exception { @@ -307,6 +313,12 @@ public class JsFirInvalidationPerFileTestGenerated extends AbstractJsFirInvalida runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/"); } + @Test + @TestMetadata("jsCodeWithConstStringFromOtherModule") + public void testJsCodeWithConstStringFromOtherModule() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/"); + } + @Test @TestMetadata("jsExport") public void testJsExport() 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 08847911d62..c73050fae61 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 @@ -61,6 +61,12 @@ public class JsFirInvalidationPerModuleTestGenerated extends AbstractJsFirInvali runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/"); } + @Test + @TestMetadata("companionConstVal") + public void testCompanionConstVal() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/companionConstVal/"); + } + @Test @TestMetadata("companionFunction") public void testCompanionFunction() throws Exception { @@ -307,6 +313,12 @@ public class JsFirInvalidationPerModuleTestGenerated extends AbstractJsFirInvali runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/"); } + @Test + @TestMetadata("jsCodeWithConstStringFromOtherModule") + public void testJsCodeWithConstStringFromOtherModule() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/"); + } + @Test @TestMetadata("jsExport") public void testJsExport() 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 afd90b7259c..ae73ef031ca 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 @@ -61,6 +61,12 @@ public class JsIrES6InvalidationPerFileTestGenerated extends AbstractJsIrES6Inva runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/"); } + @Test + @TestMetadata("companionConstVal") + public void testCompanionConstVal() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/companionConstVal/"); + } + @Test @TestMetadata("companionFunction") public void testCompanionFunction() throws Exception { @@ -307,6 +313,12 @@ public class JsIrES6InvalidationPerFileTestGenerated extends AbstractJsIrES6Inva runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/"); } + @Test + @TestMetadata("jsCodeWithConstStringFromOtherModule") + public void testJsCodeWithConstStringFromOtherModule() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/"); + } + @Test @TestMetadata("jsExport") public void testJsExport() 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 d4e0b2ca2c0..e137a1f3e5c 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 @@ -61,6 +61,12 @@ public class JsIrES6InvalidationPerModuleTestGenerated extends AbstractJsIrES6In runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/"); } + @Test + @TestMetadata("companionConstVal") + public void testCompanionConstVal() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/companionConstVal/"); + } + @Test @TestMetadata("companionFunction") public void testCompanionFunction() throws Exception { @@ -307,6 +313,12 @@ public class JsIrES6InvalidationPerModuleTestGenerated extends AbstractJsIrES6In runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/"); } + @Test + @TestMetadata("jsCodeWithConstStringFromOtherModule") + public void testJsCodeWithConstStringFromOtherModule() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/"); + } + @Test @TestMetadata("jsExport") public void testJsExport() 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 e505aae4ddb..618cbe72eb6 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 @@ -61,6 +61,12 @@ public class JsIrInvalidationPerFileTestGenerated extends AbstractJsIrInvalidati runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/"); } + @Test + @TestMetadata("companionConstVal") + public void testCompanionConstVal() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/companionConstVal/"); + } + @Test @TestMetadata("companionFunction") public void testCompanionFunction() throws Exception { @@ -307,6 +313,12 @@ public class JsIrInvalidationPerFileTestGenerated extends AbstractJsIrInvalidati runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/"); } + @Test + @TestMetadata("jsCodeWithConstStringFromOtherModule") + public void testJsCodeWithConstStringFromOtherModule() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/"); + } + @Test @TestMetadata("jsExport") public void testJsExport() 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 040ef3b1fc5..71e60479271 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 @@ -61,6 +61,12 @@ public class JsIrInvalidationPerModuleTestGenerated extends AbstractJsIrInvalida runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/"); } + @Test + @TestMetadata("companionConstVal") + public void testCompanionConstVal() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/companionConstVal/"); + } + @Test @TestMetadata("companionFunction") public void testCompanionFunction() throws Exception { @@ -307,6 +313,12 @@ public class JsIrInvalidationPerModuleTestGenerated extends AbstractJsIrInvalida runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/"); } + @Test + @TestMetadata("jsCodeWithConstStringFromOtherModule") + public void testJsCodeWithConstStringFromOtherModule() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/"); + } + @Test @TestMetadata("jsExport") public void testJsExport() throws Exception { diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.0.kt b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.0.kt new file mode 100644 index 00000000000..b70d1b14542 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.0.kt @@ -0,0 +1,5 @@ +open class Class { + companion object { + const val CONST_VALUE = "0" + } +} diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.1.kt b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.1.kt new file mode 100644 index 00000000000..bab0c1f1029 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.1.kt @@ -0,0 +1,5 @@ +open class Class { + companion object { + const val CONST_VALUE = "1" + } +} diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.2.kt b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.2.kt new file mode 100644 index 00000000000..b6b44b95f16 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.2.kt @@ -0,0 +1,5 @@ +open class Class { + companion object { + const val CONST_VALUE = 2 + } +} diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.3.kt b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.3.kt new file mode 100644 index 00000000000..e300d1d5486 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.3.kt @@ -0,0 +1,5 @@ +open class Class { + companion object { + const val CONST_VALUE = 3 + } +} diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.5.kt b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.5.kt new file mode 100644 index 00000000000..967ee3236f5 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.5.kt @@ -0,0 +1,5 @@ +open class Class { + companion object { + const val CONST_VALUE = 6 + } +} diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.7.kt b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.7.kt new file mode 100644 index 00000000000..7b4409deb34 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/l1.7.kt @@ -0,0 +1,5 @@ +open class Class { + companion object { + const val CONST_VALUE = 7 + } +} diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/module.fir.info b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/module.fir.info new file mode 100644 index 00000000000..b49b58012a7 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/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/companionConstVal/lib1/module.info b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/module.info new file mode 100644 index 00000000000..dae63bb214e --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib1/module.info @@ -0,0 +1,28 @@ +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: + updated exports: l1.kt +STEP 5: + modifications: + U : l1.5.kt -> l1.kt + modified ir: l1.kt +STEP 6: + updated exports: l1.kt +STEP 7: + modifications: + U : l1.7.kt -> l1.kt + modified ir: l1.kt diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineChild.0.6.kt b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineChild.0.6.kt new file mode 100644 index 00000000000..e5247d27cf2 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineChild.0.6.kt @@ -0,0 +1,5 @@ +class InlineChild : Class() { + inline fun inlineMethod(): String { + return "${CONST_VALUE}" + } +} diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineChild.4.kt b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineChild.4.kt new file mode 100644 index 00000000000..f9b0317eed7 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineChild.4.kt @@ -0,0 +1,5 @@ +class InlineChild : Class() { + inline fun inlineMethod(): String { + return "4" + } +} diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineChildProxy.0.kt b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineChildProxy.0.kt new file mode 100644 index 00000000000..f492c0edddd --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineChildProxy.0.kt @@ -0,0 +1 @@ +fun inlineChildProxy() = InlineChild().inlineMethod() diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineFunction.0.6.kt b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineFunction.0.6.kt new file mode 100644 index 00000000000..7c7ec536965 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineFunction.0.6.kt @@ -0,0 +1,3 @@ +inline fun inlineFunction(): String { + return "${Class.CONST_VALUE}" +} diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineFunction.4.kt b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineFunction.4.kt new file mode 100644 index 00000000000..214d179e5b5 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineFunction.4.kt @@ -0,0 +1,3 @@ +inline fun inlineFunction(): String { + return "4" +} diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineFunctionProxy.0.kt b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineFunctionProxy.0.kt new file mode 100644 index 00000000000..f36f3667e23 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/inlineFunctionProxy.0.kt @@ -0,0 +1 @@ +fun inlineFunctionProxy() = inlineFunction() diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/module.fir.info b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/module.fir.info new file mode 100644 index 00000000000..24bdf9fb478 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/module.fir.info @@ -0,0 +1,38 @@ +STEP 0: + dependencies: lib1 + modifications: + U : inlineChild.0.6.kt -> inlineChild.kt + U : inlineChildProxy.0.kt -> inlineChildProxy.kt + U : inlineFunction.0.6.kt -> inlineFunction.kt + U : inlineFunctionProxy.0.kt -> inlineFunctionProxy.kt + U : simpleChild.0.6.kt -> simpleChild.kt + U : simpleFunction.0.6.kt -> simpleFunction.kt + added file: inlineChild.kt, inlineChildProxy.kt, inlineFunction.kt, inlineFunctionProxy.kt, simpleChild.kt, simpleFunction.kt +STEP 1..3: + dependencies: lib1 + updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt + modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt +STEP 4: + dependencies: lib1 + modifications: + U : inlineChild.4.kt -> inlineChild.kt + U : inlineFunction.4.kt -> inlineFunction.kt + U : simpleChild.4.kt -> simpleChild.kt + U : simpleFunction.4.kt -> simpleFunction.kt + modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt + updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt +STEP 5: + dependencies: lib1 +STEP 6: + dependencies: lib1 + modifications: + U : inlineChild.0.6.kt -> inlineChild.kt + U : inlineFunction.0.6.kt -> inlineFunction.kt + U : simpleChild.0.6.kt -> simpleChild.kt + U : simpleFunction.0.6.kt -> simpleFunction.kt + modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt + updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt +STEP 7: + dependencies: lib1 + updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt + modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/module.info b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/module.info new file mode 100644 index 00000000000..3b091919da0 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/module.info @@ -0,0 +1,43 @@ +STEP 0: + dependencies: lib1 + modifications: + U : inlineChild.0.6.kt -> inlineChild.kt + U : inlineChildProxy.0.kt -> inlineChildProxy.kt + U : inlineFunction.0.6.kt -> inlineFunction.kt + U : inlineFunctionProxy.0.kt -> inlineFunctionProxy.kt + U : simpleChild.0.6.kt -> simpleChild.kt + U : simpleFunction.0.6.kt -> simpleFunction.kt + added file: inlineChild.kt, inlineChildProxy.kt, inlineFunction.kt, inlineFunctionProxy.kt, simpleChild.kt, simpleFunction.kt +STEP 1: + dependencies: lib1 + updated imports: inlineFunctionProxy.kt, simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineChildProxy.kt, inlineFunction.kt +STEP 2: + dependencies: lib1 + updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt + modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt +STEP 3: + dependencies: lib1 + updated imports: inlineFunctionProxy.kt, simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineChildProxy.kt, inlineFunction.kt +STEP 4: + dependencies: lib1 + modifications: + U : inlineChild.4.kt -> inlineChild.kt + U : inlineFunction.4.kt -> inlineFunction.kt + U : simpleChild.4.kt -> simpleChild.kt + U : simpleFunction.4.kt -> simpleFunction.kt + modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt + updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt +STEP 5: + dependencies: lib1 +STEP 6: + dependencies: lib1 + modifications: + U : inlineChild.0.6.kt -> inlineChild.kt + U : inlineFunction.0.6.kt -> inlineFunction.kt + U : simpleChild.0.6.kt -> simpleChild.kt + U : simpleFunction.0.6.kt -> simpleFunction.kt + modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt + updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt +STEP 7: + dependencies: lib1 + updated imports: inlineFunctionProxy.kt, simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineChildProxy.kt, inlineFunction.kt diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/simpleChild.0.6.kt b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/simpleChild.0.6.kt new file mode 100644 index 00000000000..eb4571b2e93 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/simpleChild.0.6.kt @@ -0,0 +1,5 @@ +class SimpleChild : Class() { + fun simpleMethod(): String { + return "${CONST_VALUE}" + } +} diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/simpleChild.4.kt b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/simpleChild.4.kt new file mode 100644 index 00000000000..8a1f13c3736 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/simpleChild.4.kt @@ -0,0 +1,5 @@ +class SimpleChild : Class() { + fun simpleMethod(): String { + return "4" + } +} diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/simpleFunction.0.6.kt b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/simpleFunction.0.6.kt new file mode 100644 index 00000000000..ce9e035a5a0 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/simpleFunction.0.6.kt @@ -0,0 +1,3 @@ +fun simpleFunction(): String { + return "${Class.CONST_VALUE}" +} diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/simpleFunction.4.kt b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/simpleFunction.4.kt new file mode 100644 index 00000000000..fd826273924 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/lib2/simpleFunction.4.kt @@ -0,0 +1,3 @@ +fun simpleFunction(): String { + return "4" +} diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/main/m.kt b/js/js.translator/testData/incremental/invalidation/companionConstVal/main/m.kt new file mode 100644 index 00000000000..506081af7b2 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/main/m.kt @@ -0,0 +1,17 @@ +fun box(stepId: Int): 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'" + + got = SimpleChild().simpleMethod() + if (got != "$expected") return "Fail SimpleChild.simpleMethod: '$got' != '$expected'" + + got = inlineChildProxy() + if (got != "$expected") return "Fail inlineChildProxy: '$got' != '$expected'" + + return "OK" +} diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/main/module.info b/js/js.translator/testData/incremental/invalidation/companionConstVal/main/module.info new file mode 100644 index 00000000000..87a25facf2b --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/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/companionConstVal/project.fir.info b/js/js.translator/testData/incremental/invalidation/companionConstVal/project.fir.info new file mode 100644 index 00000000000..1182d4cae3e --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/project.fir.info @@ -0,0 +1,26 @@ +MODULES: lib1, lib2, main + +STEP 0: + libs: lib1, lib2, main + dirty js modules: lib1, lib2, main + dirty js files: lib1/l1, lib2/inlineChildProxy, lib2/inlineChild, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/simpleChild, lib2/inlineFunction, main, main/m, main/m.export +STEP 1..3: + libs: lib1, lib2, main + dirty js modules: lib1, lib2 + dirty js files: lib1/l1, lib2/inlineChildProxy, lib2/inlineChild, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/simpleChild, lib2/inlineFunction +STEP 4: + libs: lib1, lib2, main + dirty js modules: lib2 + dirty js files: lib2/inlineChildProxy, lib2/inlineChild, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/simpleChild, lib2/inlineFunction +STEP 5: + libs: lib1, lib2, main + dirty js modules: lib1 + dirty js files: lib1/l1 +STEP 6: + libs: lib1, lib2, main + dirty js modules: lib2 + dirty js files: lib2/inlineChildProxy, lib2/inlineChild, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/simpleChild, lib2/inlineFunction +STEP 7: + libs: lib1, lib2, main + dirty js modules: lib1, lib2 + dirty js files: lib1/l1, lib2/inlineChildProxy, lib2/inlineChild, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/simpleChild, lib2/inlineFunction diff --git a/js/js.translator/testData/incremental/invalidation/companionConstVal/project.info b/js/js.translator/testData/incremental/invalidation/companionConstVal/project.info new file mode 100644 index 00000000000..a819e6bcacc --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionConstVal/project.info @@ -0,0 +1,18 @@ +MODULES: lib1, lib2, main + +STEP 0: + libs: lib1, lib2, main + dirty js modules: lib1, lib2, main + dirty js files: lib1/l1, lib2/inlineChildProxy, lib2/inlineChild, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/simpleChild, lib2/inlineFunction, main, main/m, main/m.export +STEP 1..4: + libs: lib1, lib2, main + dirty js modules: lib1, lib2 + dirty js files: lib1/l1, lib2/inlineChildProxy, lib2/inlineChild, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/simpleChild, lib2/inlineFunction +STEP 5: + libs: lib1, lib2, main + dirty js modules: lib1 + dirty js files: lib1/l1 +STEP 6..7: + libs: lib1, lib2, main + dirty js modules: lib1, lib2 + dirty js files: lib1/l1, lib2/inlineChildProxy, lib2/inlineChild, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/simpleChild, lib2/inlineFunction diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/l1.0.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/l1.0.kt new file mode 100644 index 00000000000..89a021b11d7 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/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/jsCodeWithConstStringFromOtherModule/lib1/l1.1.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/l1.1.kt new file mode 100644 index 00000000000..e7f61982206 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/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/jsCodeWithConstStringFromOtherModule/lib1/l1.2.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/l1.2.kt new file mode 100644 index 00000000000..80d184f6ac9 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/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/jsCodeWithConstStringFromOtherModule/lib1/l1.3.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/l1.3.kt new file mode 100644 index 00000000000..72c28c8e6d4 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/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/jsCodeWithConstStringFromOtherModule/lib1/l1.5.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/l1.5.kt new file mode 100644 index 00000000000..4f02e803564 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/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/jsCodeWithConstStringFromOtherModule/lib1/l1.7.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/l1.7.kt new file mode 100644 index 00000000000..992680f7006 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/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/jsCodeWithConstStringFromOtherModule/lib1/module.fir.info b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/module.fir.info new file mode 100644 index 00000000000..b49b58012a7 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/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/jsCodeWithConstStringFromOtherModule/lib1/module.info b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/module.info new file mode 100644 index 00000000000..dae63bb214e --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib1/module.info @@ -0,0 +1,28 @@ +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: + updated exports: l1.kt +STEP 5: + modifications: + U : l1.5.kt -> l1.kt + modified ir: l1.kt +STEP 6: + updated exports: l1.kt +STEP 7: + modifications: + U : l1.7.kt -> l1.kt + modified ir: l1.kt diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/inlineFunction.0.6.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/inlineFunction.0.6.kt new file mode 100644 index 00000000000..6834b50f5d3 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/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/jsCodeWithConstStringFromOtherModule/lib2/inlineFunction.4.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/inlineFunction.4.kt new file mode 100644 index 00000000000..6c487146114 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/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/jsCodeWithConstStringFromOtherModule/lib2/inlineFunctionProxy.0.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/inlineFunctionProxy.0.kt new file mode 100644 index 00000000000..f36f3667e23 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/inlineFunctionProxy.0.kt @@ -0,0 +1 @@ +fun inlineFunctionProxy() = inlineFunction() diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/module.fir.info b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/module.fir.info new file mode 100644 index 00000000000..8567d20100b --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/module.fir.info @@ -0,0 +1,31 @@ +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 + updated imports: inlineFunctionProxy.kt + modified ir: simpleFunction.kt, inlineFunction.kt +STEP 4: + dependencies: lib1 + modifications: + U : inlineFunction.4.kt -> inlineFunction.kt + U : simpleFunction.4.kt -> simpleFunction.kt + modified ir: simpleFunction.kt, inlineFunction.kt + updated imports: 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 + updated imports: inlineFunctionProxy.kt +STEP 7: + dependencies: lib1 + updated imports: inlineFunctionProxy.kt + modified ir: simpleFunction.kt, inlineFunction.kt diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/module.info b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/module.info new file mode 100644 index 00000000000..85f4b513746 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/module.info @@ -0,0 +1,36 @@ +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: + dependencies: lib1 + updated imports: inlineFunctionProxy.kt, simpleFunction.kt, inlineFunction.kt +STEP 2: + dependencies: lib1 + updated imports: inlineFunctionProxy.kt + modified ir: simpleFunction.kt, inlineFunction.kt +STEP 3: + dependencies: lib1 + updated imports: inlineFunctionProxy.kt, simpleFunction.kt, inlineFunction.kt +STEP 4: + dependencies: lib1 + modifications: + U : inlineFunction.4.kt -> inlineFunction.kt + U : simpleFunction.4.kt -> simpleFunction.kt + modified ir: simpleFunction.kt, , inlineFunction.kt + updated imports: 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 + updated imports: inlineFunctionProxy.kt +STEP 7: + dependencies: lib1 + updated imports: inlineFunctionProxy.kt, simpleFunction.kt, inlineFunction.kt diff --git a/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/simpleFunction.0.6.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/simpleFunction.0.6.kt new file mode 100644 index 00000000000..9fb59d443be --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/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/jsCodeWithConstStringFromOtherModule/lib2/simpleFunction.4.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/lib2/simpleFunction.4.kt new file mode 100644 index 00000000000..9c2e990117d --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/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/jsCodeWithConstStringFromOtherModule/main/m.kt b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/main/m.kt new file mode 100644 index 00000000000..6e756f87bfb --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/main/m.kt @@ -0,0 +1,11 @@ +fun box(stepId: Int): 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/jsCodeWithConstStringFromOtherModule/main/module.info b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/main/module.info new file mode 100644 index 00000000000..87a25facf2b --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/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/jsCodeWithConstStringFromOtherModule/project.fir.info b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/project.fir.info new file mode 100644 index 00000000000..b0f3e675422 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/project.fir.info @@ -0,0 +1,26 @@ +MODULES: lib1, lib2, main + +STEP 0: + 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: + libs: lib1, lib2, main + dirty js modules: lib1, lib2 + dirty js files: lib1/l1, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction +STEP 4: + libs: lib1, lib2, main + dirty js modules: lib2 + dirty js files: lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction +STEP 5: + libs: lib1, lib2, main + dirty js modules: lib1 + dirty js files: lib1/l1 +STEP 6: + libs: lib1, lib2, main + dirty js modules: lib2 + dirty js files: lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction +STEP 7: + 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/jsCodeWithConstStringFromOtherModule/project.info b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/project.info new file mode 100644 index 00000000000..1e6591cab95 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/jsCodeWithConstStringFromOtherModule/project.info @@ -0,0 +1,18 @@ +MODULES: lib1, lib2, main + +STEP 0: + 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..4: + libs: lib1, lib2, main + dirty js modules: lib1, lib2 + dirty js files: lib1/l1, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction +STEP 5: + libs: lib1, lib2, main + dirty js modules: lib1 + dirty js files: lib1/l1 +STEP 6..7: + libs: lib1, lib2, main + dirty js modules: lib1, lib2 + dirty js files: lib1/l1, lib2/simpleFunction, lib2/inlineFunctionProxy, lib2/inlineFunction