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 ecce40699d1..bd2aaf62bd8 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 @@ -70,6 +70,11 @@ public class InvalidationTestGenerated extends AbstractInvalidationTest { runTest("js/js.translator/testData/incremental/invalidation/companionInlineFunction/"); } + @TestMetadata("companionProperties") + public void testCompanionProperties() throws Exception { + runTest("js/js.translator/testData/incremental/invalidation/companionProperties/"); + } + @TestMetadata("companionWithStdLibCall") public void testCompanionWithStdLibCall() throws Exception { runTest("js/js.translator/testData/incremental/invalidation/companionWithStdLibCall/"); diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.0.kt b/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.0.kt new file mode 100644 index 00000000000..e721779e419 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.0.kt @@ -0,0 +1,5 @@ +class MyClass { + companion object { + val stringProperty = "0" + } +} diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.1.kt b/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.1.kt new file mode 100644 index 00000000000..e6d089deb85 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.1.kt @@ -0,0 +1,6 @@ +class MyClass { + companion object { + val stringProperty = "0" + val intProperty = 1 + } +} diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.10.kt b/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.10.kt new file mode 100644 index 00000000000..14051553ea0 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.10.kt @@ -0,0 +1,6 @@ +class MyClass { + companion object { + val intProperty: Int + inline get() = 6 + } +} diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.2.kt b/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.2.kt new file mode 100644 index 00000000000..1442b1a1659 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.2.kt @@ -0,0 +1,7 @@ +class MyClass { + companion object { + val stringProperty = "-1" + val intProperty = 3 + val pairProperty = -1 to 2 + } +} diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.4.kt b/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.4.kt new file mode 100644 index 00000000000..a48e07123ad --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.4.kt @@ -0,0 +1,8 @@ +class MyClass { + companion object { + val stringProperty = "-1" + val intProperty = 2 + val pairProperty = -1 to 2 + val funcProperty = { 1 } + } +} diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.5.kt b/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.5.kt new file mode 100644 index 00000000000..216e62aa80a --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.5.kt @@ -0,0 +1,7 @@ +class MyClass { + companion object { + val intProperty = 2 + val pairProperty = -1 to 2 + val funcProperty = { 2 } + } +} diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.7.kt b/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.7.kt new file mode 100644 index 00000000000..3f55abff023 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.7.kt @@ -0,0 +1,5 @@ +class MyClass { + companion object { + val intProperty = 3 + } +} diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.8.kt b/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.8.kt new file mode 100644 index 00000000000..4569701b714 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.8.kt @@ -0,0 +1,6 @@ +class MyClass { + companion object { + val intProperty: Int + get() = 4 + } +} diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.9.kt b/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.9.kt new file mode 100644 index 00000000000..df7a461b737 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/l1.9.kt @@ -0,0 +1,6 @@ +class MyClass { + companion object { + val intProperty: Int + inline get() = 5 + } +} diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/module.info b/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/module.info new file mode 100644 index 00000000000..3485f061974 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib1/module.info @@ -0,0 +1,40 @@ +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: + updated exports: l1.kt +STEP 4: + modifications: + U : l1.4.kt -> l1.kt + modified ir: 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 +STEP 8: + modifications: + U : l1.8.kt -> l1.kt + modified ir: l1.kt +STEP 9: + modifications: + U : l1.9.kt -> l1.kt + modified ir: l1.kt +STEP 10: + modifications: + U : l1.10.kt -> l1.kt + modified ir: l1.kt diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2.0.kt b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2.0.kt new file mode 100644 index 00000000000..8fc0a3ff1fa --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2.0.kt @@ -0,0 +1,3 @@ +fun test(): Int { + return testStringProperty() +} diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2.1.kt b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2.1.kt new file mode 100644 index 00000000000..a50f22c414c --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2.1.kt @@ -0,0 +1,4 @@ +fun test(): Int { + return testStringProperty() + + testIntProperty() +} diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2.3.kt b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2.3.kt new file mode 100644 index 00000000000..5b3c6ea36ef --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2.3.kt @@ -0,0 +1,5 @@ +fun test(): Int { + return testStringProperty() + + testIntProperty() + + testPairProperty() +} diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2.4.kt b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2.4.kt new file mode 100644 index 00000000000..a64bbb6c9df --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2.4.kt @@ -0,0 +1,6 @@ +fun test(): Int { + return testStringProperty() + + testIntProperty() + + testPairProperty() + + testFuncProperty() +} diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2.6.kt b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2.6.kt new file mode 100644 index 00000000000..51c22d884e8 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2.6.kt @@ -0,0 +1,3 @@ +fun test(): Int { + return testIntProperty() + 4 +} diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2func.4.kt b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2func.4.kt new file mode 100644 index 00000000000..39a178dc946 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2func.4.kt @@ -0,0 +1,3 @@ +inline fun testFuncProperty(): Int { + return MyClass.funcProperty() +} diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2int.1.kt b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2int.1.kt new file mode 100644 index 00000000000..b5bb2bbf259 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2int.1.kt @@ -0,0 +1,3 @@ +inline fun testIntProperty(): Int { + return MyClass.intProperty +} diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2pair.3.kt b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2pair.3.kt new file mode 100644 index 00000000000..442807da260 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2pair.3.kt @@ -0,0 +1,3 @@ +inline fun testPairProperty(): Int { + return MyClass.pairProperty.first + MyClass.pairProperty.second +} diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2string.0.kt b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2string.0.kt new file mode 100644 index 00000000000..777bb48b66e --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2string.0.kt @@ -0,0 +1,3 @@ +inline fun testStringProperty(): Int { + return MyClass.stringProperty.toInt() +} diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2string.4.kt b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2string.4.kt new file mode 100644 index 00000000000..9ed499d3ef3 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/l2string.4.kt @@ -0,0 +1,3 @@ +inline fun testStringProperty(): Int { + return 0 +} diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/module.info b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/module.info new file mode 100644 index 00000000000..67465f0208a --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/lib2/module.info @@ -0,0 +1,50 @@ +STEP 0: + dependencies: lib1 + modifications: + U : l2string.0.kt -> l2string.kt + U : l2.0.kt -> l2.kt + added file: l2.kt, l2string.kt +STEP 1: + dependencies: lib1 + modifications: + U : l2int.1.kt -> l2int.kt + U : l2.1.kt -> l2.kt + added file: l2int.kt + modified ir: l2.kt +STEP 2: + dependencies: lib1 +STEP 3: + dependencies: lib1 + modifications: + U : l2pair.3.kt -> l2pair.kt + U : l2.3.kt -> l2.kt + added file: l2pair.kt + modified ir: l2.kt +STEP 4: + dependencies: lib1 + modifications: + U : l2func.4.kt -> l2func.kt + U : l2.4.kt -> l2.kt + U : l2string.4.kt -> l2string.kt + added file: l2func.kt + modified ir: l2.kt, l2string.kt +STEP 5: + dependencies: lib1 +STEP 6: + dependencies: lib1 + modifications: + U : l2.6.kt -> l2.kt + modified ir: l2.kt + updated exports: l2pair.kt, l2string.kt, l2func.kt +STEP 7: + dependencies: lib1 + modifications: + D : l2pair.kt + D : l2string.kt + D : l2func.kt +STEP 8: + dependencies: lib1 + updated imports: l2int.kt +STEP 9..10: + dependencies: lib1 + updated imports: l2int.kt, l2.kt diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/main/m.kt b/js/js.translator/testData/incremental/invalidation/companionProperties/main/m.kt new file mode 100644 index 00000000000..6d9dddf246a --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/main/m.kt @@ -0,0 +1,4 @@ +fun box(stepId: Int): String { + if (test() != stepId) return "Fail" + return "OK" +} diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/main/module.info b/js/js.translator/testData/incremental/invalidation/companionProperties/main/module.info new file mode 100644 index 00000000000..907f11b5487 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/main/module.info @@ -0,0 +1,5 @@ +STEP 0: + dependencies: lib1, lib2 + added file: m.kt +STEP 1..10: + dependencies: lib1, lib2 diff --git a/js/js.translator/testData/incremental/invalidation/companionProperties/project.info b/js/js.translator/testData/incremental/invalidation/companionProperties/project.info new file mode 100644 index 00000000000..603f8f10c9d --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/companionProperties/project.info @@ -0,0 +1,20 @@ +MODULES: lib1, lib2, main + +STEP 0: + libs: lib1, lib2, main + dirty js: lib1, lib2, main +STEP 1: + libs: lib1, lib2, main + dirty js: lib1, lib2 +STEP 2: + libs: lib1, lib2, main + dirty js: lib1 +STEP 3..4: + libs: lib1, lib2, main + dirty js: lib1, lib2 +STEP 5: + libs: lib1, lib2, main + dirty js: lib1 +STEP 6..10: + libs: lib1, lib2, main + dirty js: lib1, lib2