From e2922219f25b261e3ae91c9dcb62d370e5567c01 Mon Sep 17 00:00:00 2001 From: Alexander Korepanov Date: Mon, 24 Oct 2022 15:40:36 +0200 Subject: [PATCH] [JS IR] Add more JS IC tests for top level properties --- .../InvalidationTestGenerated.java | 5 + .../toplevelProperties/lib1/l1.0.kt | 1 + .../toplevelProperties/lib1/l1.1.kt | 1 + .../toplevelProperties/lib1/l1.10.kt | 11 +++ .../toplevelProperties/lib1/l1.13.kt | 11 +++ .../toplevelProperties/lib1/l1.14.kt | 11 +++ .../toplevelProperties/lib1/l1.15.kt | 16 +++ .../toplevelProperties/lib1/l1.2.kt | 1 + .../toplevelProperties/lib1/l1.3.kt | 4 + .../toplevelProperties/lib1/l1.5.kt | 4 + .../toplevelProperties/lib1/l1.6.kt | 4 + .../toplevelProperties/lib1/l1.7.kt | 6 ++ .../toplevelProperties/lib1/module.info | 52 ++++++++++ .../toplevelProperties/lib2/l2.0.kt | 3 + .../toplevelProperties/lib2/l2.11.kt | 6 ++ .../toplevelProperties/lib2/l2.16.kt | 7 ++ .../toplevelProperties/lib2/l2.18.kt | 3 + .../toplevelProperties/lib2/l2.19.kt | 5 + .../toplevelProperties/lib2/l2.20.kt | 4 + .../toplevelProperties/lib2/l2.21.kt | 6 ++ .../toplevelProperties/lib2/l2.4.kt | 4 + .../toplevelProperties/lib2/l2.8.kt | 5 + .../toplevelProperties/lib2/l2globalVal.kt | 1 + .../toplevelProperties/lib2/l2globalVar.8.kt | 7 ++ .../toplevelProperties/lib2/l2globalVar.9.kt | 8 ++ .../lib2/l2inlineExtensionProperty.16.kt | 7 ++ .../lib2/l2inlineExtensionProperty.17.kt | 8 ++ .../lib2/l2inlineGlobalVal.4.kt | 1 + .../lib2/l2inlineGlobalVar.11.kt | 7 ++ .../lib2/l2inlineGlobalVar.12.kt | 8 ++ .../toplevelProperties/lib2/module.info | 98 +++++++++++++++++++ .../invalidation/toplevelProperties/main/m.kt | 7 ++ .../toplevelProperties/main/module.info | 5 + .../toplevelProperties/project.info | 29 ++++++ 34 files changed, 356 insertions(+) create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.0.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.1.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.10.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.13.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.14.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.15.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.2.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.3.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.5.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.6.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.7.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/module.info create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.0.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.11.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.16.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.18.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.19.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.20.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.21.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.4.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.8.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2globalVal.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2globalVar.8.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2globalVar.9.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2inlineExtensionProperty.16.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2inlineExtensionProperty.17.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2inlineGlobalVal.4.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2inlineGlobalVar.11.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2inlineGlobalVar.12.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/module.info create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/main/m.kt create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/main/module.info create mode 100644 js/js.translator/testData/incremental/invalidation/toplevelProperties/project.info diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/InvalidationTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/InvalidationTestGenerated.java index bd2aaf62bd8..43a9122eadd 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/InvalidationTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/incremental/InvalidationTestGenerated.java @@ -280,6 +280,11 @@ public class InvalidationTestGenerated extends AbstractInvalidationTest { runTest("js/js.translator/testData/incremental/invalidation/suspendFunctions/"); } + @TestMetadata("toplevelProperties") + public void testToplevelProperties() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/toplevelProperties/"); + } + @TestMetadata("transitiveInlineFunction") public void testTransitiveInlineFunction() throws Exception { runTest("js/js.translator/testData/incremental/invalidation/transitiveInlineFunction/"); diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.0.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.0.kt new file mode 100644 index 00000000000..3390b1821a8 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.0.kt @@ -0,0 +1 @@ +val globalVal = "0" diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.1.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.1.kt new file mode 100644 index 00000000000..c8c586be859 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.1.kt @@ -0,0 +1 @@ +val globalVal = "1" diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.10.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.10.kt new file mode 100644 index 00000000000..3b9bf2dcdfe --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.10.kt @@ -0,0 +1,11 @@ +val globalVal = 4 + +inline val inlineGlobalVal: Int + get() = 4 + +var globalVar = "1" + +var globalVarBacking = 1 +inline var inlineGlobalVar: String + get() = globalVarBacking.toString() + set(value) { globalVarBacking += value.toInt() } diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.13.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.13.kt new file mode 100644 index 00000000000..5f988b8016d --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.13.kt @@ -0,0 +1,11 @@ +val globalVal = 4 + +inline val inlineGlobalVal: Int + get() = 4 + +var globalVar = "1" + +var globalVarBacking = 2 +inline var inlineGlobalVar: String + get() = globalVarBacking.toString() + set(value) { globalVarBacking += value.toInt() } diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.14.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.14.kt new file mode 100644 index 00000000000..e3f57788773 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.14.kt @@ -0,0 +1,11 @@ +val globalVal = 4 + +inline val inlineGlobalVal: Int + get() = 4 + +var globalVar = "1" + +var globalVarBacking = 2 +inline var inlineGlobalVar: String + get() = (1 + globalVarBacking).toString() + set(value) { globalVarBacking += value.toInt() } diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.15.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.15.kt new file mode 100644 index 00000000000..885009b3cdd --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.15.kt @@ -0,0 +1,16 @@ +val globalVal = 4 + +inline val inlineGlobalVal: Int + get() = 4 + +var globalVar = "1" + +var globalVarBacking = 2 +inline var inlineGlobalVar: String + get() = (1 + globalVarBacking).toString() + set(value) { globalVarBacking += 1 + value.toInt() } + +var globalExtensionPropertyAdd = 1 +inline var Int.inlineExtensionProperty: String + get() = (this + globalExtensionPropertyAdd).toString() + set(value) { globalExtensionPropertyAdd += value.toInt() } diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.2.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.2.kt new file mode 100644 index 00000000000..a40c8162ab2 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.2.kt @@ -0,0 +1 @@ +val globalVal = 2 diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.3.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.3.kt new file mode 100644 index 00000000000..1bc83ac5bea --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.3.kt @@ -0,0 +1,4 @@ +val globalVal = 3 + +inline val inlineGlobalVal: String + get() = "1" diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.5.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.5.kt new file mode 100644 index 00000000000..9507f82f82e --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.5.kt @@ -0,0 +1,4 @@ +val globalVal = 3 + +inline val inlineGlobalVal: String + get() = "2" diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.6.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.6.kt new file mode 100644 index 00000000000..ad3df6d43fd --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.6.kt @@ -0,0 +1,4 @@ +val globalVal = 3 + +inline val inlineGlobalVal: Int + get() = 3 diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.7.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.7.kt new file mode 100644 index 00000000000..dc6209634dc --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/l1.7.kt @@ -0,0 +1,6 @@ +val globalVal = 4 + +inline val inlineGlobalVal: Int + get() = 3 + +var globalVar = "1" diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/module.info b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/module.info new file mode 100644 index 00000000000..73c0823f99d --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib1/module.info @@ -0,0 +1,52 @@ +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: + modifications: + U : l1.6.kt -> l1.kt + modified ir: l1.kt +STEP 7: + modifications: + U : l1.7.kt -> l1.kt + modified ir: l1.kt +STEP 8..9: + updated exports: l1.kt +STEP 10: + modifications: + U : l1.10.kt -> l1.kt + modified ir: l1.kt +STEP 11..12: + updated exports: l1.kt +STEP 13: + modifications: + U : l1.13.kt -> l1.kt + modified ir: l1.kt +STEP 14: + modifications: + U : l1.14.kt -> l1.kt + modified ir: l1.kt +STEP 15: + modifications: + U : l1.15.kt -> l1.kt + modified ir: l1.kt +STEP 16..21: + updated exports: l1.kt diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.0.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.0.kt new file mode 100644 index 00000000000..7d9809fa3bc --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.0.kt @@ -0,0 +1,3 @@ +fun testToplevelProperties(): Int { + return globalValWrapper().toInt() +} diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.11.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.11.kt new file mode 100644 index 00000000000..df7f1d314f5 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.11.kt @@ -0,0 +1,6 @@ +fun testToplevelProperties(): Int { + return globalValWrapper().toInt() + + inlineGlobalValWrapper().toInt() + + globalVarWrapper().toInt() + + inlineGlobalVarWrapper().toInt() +} diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.16.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.16.kt new file mode 100644 index 00000000000..0cd87562f0b --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.16.kt @@ -0,0 +1,7 @@ +fun testToplevelProperties(): Int { + return globalValWrapper().toInt() + + inlineGlobalValWrapper().toInt() + + globalVarWrapper().toInt() + + inlineGlobalVarWrapper().toInt() + + 0.inlineExtensionPropertyWrapper().toInt() +} diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.18.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.18.kt new file mode 100644 index 00000000000..57dd6ff9f1a --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.18.kt @@ -0,0 +1,3 @@ +fun testToplevelProperties(): Int { + return 18 +} diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.19.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.19.kt new file mode 100644 index 00000000000..8d3cd773fbc --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.19.kt @@ -0,0 +1,5 @@ +fun testToplevelProperties(): Int { + return globalValWrapper().toInt() + + inlineGlobalVarWrapper().toInt() + + 8.inlineExtensionPropertyWrapper().toInt() +} diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.20.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.20.kt new file mode 100644 index 00000000000..60bfdf4950f --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.20.kt @@ -0,0 +1,4 @@ +fun testToplevelProperties(): Int { + return inlineGlobalValWrapper().toInt() + + 14.inlineExtensionPropertyWrapper().toInt() +} diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.21.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.21.kt new file mode 100644 index 00000000000..bf565a95feb --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.21.kt @@ -0,0 +1,6 @@ +fun testToplevelProperties(): Int { + return globalValWrapper().toInt() + + inlineGlobalValWrapper().toInt() + + globalVarWrapper().toInt() + + inlineGlobalVarWrapper().toInt() + 6 +} diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.4.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.4.kt new file mode 100644 index 00000000000..33c46cb359f --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.4.kt @@ -0,0 +1,4 @@ +fun testToplevelProperties(): Int { + return globalValWrapper().toInt() + + inlineGlobalValWrapper().toInt() +} diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.8.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.8.kt new file mode 100644 index 00000000000..323bedc8d52 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2.8.kt @@ -0,0 +1,5 @@ +fun testToplevelProperties(): Int { + return globalValWrapper().toInt() + + inlineGlobalValWrapper().toInt() + + globalVarWrapper().toInt() +} diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2globalVal.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2globalVal.kt new file mode 100644 index 00000000000..93528dd81ee --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2globalVal.kt @@ -0,0 +1 @@ +inline fun globalValWrapper() = globalVal diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2globalVar.8.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2globalVar.8.kt new file mode 100644 index 00000000000..bd8ea5846fb --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2globalVar.8.kt @@ -0,0 +1,7 @@ +inline fun globalVarGetWrapper() = globalVar + +inline fun globalVarSetWrapper(v: String) { globalVar = v } + +inline fun globalVarWrapper(): String { + return globalVarGetWrapper() +} diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2globalVar.9.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2globalVar.9.kt new file mode 100644 index 00000000000..1c78fbc8333 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2globalVar.9.kt @@ -0,0 +1,8 @@ +inline fun globalVarGetWrapper() = globalVar + +inline fun globalVarSetWrapper(v: String) { globalVar = v } + +inline fun globalVarWrapper(): String { + globalVarSetWrapper("2") + return globalVarGetWrapper() +} diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2inlineExtensionProperty.16.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2inlineExtensionProperty.16.kt new file mode 100644 index 00000000000..1fd1de14325 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2inlineExtensionProperty.16.kt @@ -0,0 +1,7 @@ +inline fun Int.inlineExtensionPropertyGetWrapper() = this.inlineExtensionProperty + +inline fun Int.inlineExtensionPropertySetWrapper(v: String) { this.inlineExtensionProperty = v } + +inline fun Int.inlineExtensionPropertyWrapper(): String { + return this.inlineExtensionPropertyGetWrapper() +} diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2inlineExtensionProperty.17.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2inlineExtensionProperty.17.kt new file mode 100644 index 00000000000..bcdb9487914 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2inlineExtensionProperty.17.kt @@ -0,0 +1,8 @@ +inline fun Int.inlineExtensionPropertyGetWrapper() = this.inlineExtensionProperty + +inline fun Int.inlineExtensionPropertySetWrapper(v: String) { this.inlineExtensionProperty = v } + +inline fun Int.inlineExtensionPropertyWrapper(): String { + this.inlineExtensionPropertySetWrapper("1") + return this.inlineExtensionPropertyGetWrapper() +} diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2inlineGlobalVal.4.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2inlineGlobalVal.4.kt new file mode 100644 index 00000000000..182fb02c868 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2inlineGlobalVal.4.kt @@ -0,0 +1 @@ +inline fun inlineGlobalValWrapper() = inlineGlobalVal diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2inlineGlobalVar.11.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2inlineGlobalVar.11.kt new file mode 100644 index 00000000000..36555153645 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2inlineGlobalVar.11.kt @@ -0,0 +1,7 @@ +inline fun inlineGlobalVarGetWrapper() = inlineGlobalVar + +inline fun inlineGlobalVarSetWrapper(v: String) { inlineGlobalVar = v } + +inline fun inlineGlobalVarWrapper(): String { + return inlineGlobalVarGetWrapper() +} diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2inlineGlobalVar.12.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2inlineGlobalVar.12.kt new file mode 100644 index 00000000000..12db8294989 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/l2inlineGlobalVar.12.kt @@ -0,0 +1,8 @@ +inline fun inlineGlobalVarGetWrapper() = inlineGlobalVar + +inline fun inlineGlobalVarSetWrapper(v: String) { inlineGlobalVar = v } + +inline fun inlineGlobalVarWrapper(): String { + inlineGlobalVarSetWrapper("1") + return inlineGlobalVarGetWrapper() +} diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/module.info b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/module.info new file mode 100644 index 00000000000..863d18fd94c --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/lib2/module.info @@ -0,0 +1,98 @@ +STEP 0: + dependencies: lib1 + modifications: + U : l2.0.kt -> l2.kt + added file: l2.kt, l2globalVal.kt +STEP 1: + dependencies: lib1 +STEP 2: + dependencies: lib1 + modified ir: l2.kt, l2globalVal.kt +STEP 3: + dependencies: lib1 +STEP 4: + dependencies: lib1 + modifications: + U : l2.4.kt -> l2.kt + U : l2inlineGlobalVal.4.kt -> l2inlineGlobalVal.kt + modified ir: l2.kt + added file: l2inlineGlobalVal.kt +STEP 5: + dependencies: lib1 + updated imports: l2inlineGlobalVal.kt, l2.kt +STEP 6: + dependencies: lib1 + modified ir: l2inlineGlobalVal.kt, l2.kt +STEP 7: + dependencies: lib1 +STEP 8: + dependencies: lib1 + modifications: + U : l2.8.kt -> l2.kt + U : l2globalVar.8.kt -> l2globalVar.kt + modified ir: l2.kt + added file: l2globalVar.kt +STEP 9: + dependencies: lib1 + modifications: + U : l2globalVar.9.kt -> l2globalVar.kt + modified ir: l2globalVar.kt + updated imports: l2.kt +STEP 10: + dependencies: lib1 + updated imports: l2inlineGlobalVal.kt, l2.kt +STEP 11: + dependencies: lib1 + modifications: + U : l2.11.kt -> l2.kt + U : l2inlineGlobalVar.11.kt -> l2inlineGlobalVar.kt + modified ir: l2.kt + added file: l2inlineGlobalVar.kt +STEP 12: + dependencies: lib1 + modifications: + U : l2inlineGlobalVar.12.kt -> l2inlineGlobalVar.kt + modified ir: l2inlineGlobalVar.kt + updated imports: l2.kt +STEP 13: + dependencies: lib1 +STEP 14..15: + dependencies: lib1 + updated imports: l2inlineGlobalVar.kt, l2.kt +STEP 16: + dependencies: lib1 + modifications: + U : l2.16.kt -> l2.kt + U : l2inlineExtensionProperty.16.kt -> l2inlineExtensionProperty.kt + modified ir: l2.kt + added file: l2inlineExtensionProperty.kt +STEP 17: + dependencies: lib1 + modifications: + U : l2inlineExtensionProperty.17.kt -> l2inlineExtensionProperty.kt + modified ir: l2inlineExtensionProperty.kt + updated imports: l2.kt +STEP 18: + dependencies: lib1 + modifications: + U : l2.18.kt -> l2.kt + modified ir: l2.kt + updated exports: l2globalVal.kt, l2inlineGlobalVal.kt, l2globalVar.kt, l2inlineExtensionProperty.kt, l2inlineGlobalVar.kt +STEP 19: + dependencies: lib1 + modifications: + U : l2.19.kt -> l2.kt + modified ir: l2.kt + updated exports: l2globalVal.kt, l2inlineExtensionProperty.kt, l2inlineGlobalVar.kt +STEP 20: + dependencies: lib1 + modifications: + U : l2.20.kt -> l2.kt + modified ir: l2.kt + updated exports: l2inlineGlobalVal.kt, l2globalVal.kt, l2inlineGlobalVar.kt +STEP 21: + dependencies: lib1 + modifications: + U : l2.21.kt -> l2.kt + modified ir: l2.kt + updated exports: l2globalVal.kt, l2globalVar.kt, l2inlineGlobalVar.kt, l2inlineExtensionProperty.kt diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/main/m.kt b/js/js.translator/testData/incremental/invalidation/toplevelProperties/main/m.kt new file mode 100644 index 00000000000..1c58b4dabb4 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/main/m.kt @@ -0,0 +1,7 @@ +fun box(stepId: Int): String { + val r = testToplevelProperties() + if (r != stepId) { + return "Fail, got $r" + } + return "OK" +} diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/main/module.info b/js/js.translator/testData/incremental/invalidation/toplevelProperties/main/module.info new file mode 100644 index 00000000000..ad6626888d0 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/main/module.info @@ -0,0 +1,5 @@ +STEP 0: + dependencies: lib1, lib2 + added file: m.kt +STEP 1..21: + dependencies: lib1, lib2 diff --git a/js/js.translator/testData/incremental/invalidation/toplevelProperties/project.info b/js/js.translator/testData/incremental/invalidation/toplevelProperties/project.info new file mode 100644 index 00000000000..712a8395c2c --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/toplevelProperties/project.info @@ -0,0 +1,29 @@ +MODULES: lib1, lib2, main + +STEP 0: + libs: lib1, lib2, main + dirty js: lib1, lib2, main +STEP 1: + libs: lib1, lib2, main + dirty js: lib1 +STEP 2: + libs: lib1, lib2, main + dirty js: lib1, lib2 +STEP 3: + libs: lib1, lib2, main + dirty js: lib1 +STEP 4..6: + libs: lib1, lib2, main + dirty js: lib1, lib2 +STEP 7: + libs: lib1, lib2, main + dirty js: lib1 +STEP 8..12: + libs: lib1, lib2, main + dirty js: lib1, lib2 +STEP 13: + libs: lib1, lib2, main + dirty js: lib1 +STEP 14..21: + libs: lib1, lib2, main + dirty js: lib1, lib2