From 9f31931bb86039a17ff478c3c1128b7930282704 Mon Sep 17 00:00:00 2001 From: Dmitriy Dolovov Date: Wed, 27 May 2020 14:14:56 +0700 Subject: [PATCH] [Commonizer] Tests on lifting up identical const properties ^KMM-241 --- .../commonized/common/package_root.kt | 11 ++++++ .../commonized/js/package_root.kt | 22 +++++++++++ .../commonized/jvm/package_root.kt | 22 +++++++++++ .../original/js/package_root.kt | 38 +++++++++++++++++++ .../original/jvm/package_root.kt | 38 +++++++++++++++++++ .../specifics/commonized/js/package_root.kt | 3 -- .../specifics/commonized/jvm/package_root.kt | 3 -- .../specifics/original/js/package_root.kt | 3 -- .../specifics/original/jvm/package_root.kt | 3 -- .../PropertyCommonizationFromSourcesTest.kt | 2 + 10 files changed, 133 insertions(+), 12 deletions(-) create mode 100644 native/commonizer/testData/propertyCommonization/liftingUpConst/commonized/common/package_root.kt create mode 100644 native/commonizer/testData/propertyCommonization/liftingUpConst/commonized/js/package_root.kt create mode 100644 native/commonizer/testData/propertyCommonization/liftingUpConst/commonized/jvm/package_root.kt create mode 100644 native/commonizer/testData/propertyCommonization/liftingUpConst/original/js/package_root.kt create mode 100644 native/commonizer/testData/propertyCommonization/liftingUpConst/original/jvm/package_root.kt diff --git a/native/commonizer/testData/propertyCommonization/liftingUpConst/commonized/common/package_root.kt b/native/commonizer/testData/propertyCommonization/liftingUpConst/commonized/common/package_root.kt new file mode 100644 index 00000000000..60c20a3626e --- /dev/null +++ b/native/commonizer/testData/propertyCommonization/liftingUpConst/commonized/common/package_root.kt @@ -0,0 +1,11 @@ +const val property1 = 42 +expect val property4: Int + +const val property5: Byte = 42 +const val property7: Short = 42 +const val property9: Long = 42 +const val property11: Double = 4.2 +const val property13: Float = 4.2f +const val property15 = true +const val property17 = "42" +const val property19: Char = 42.toChar() diff --git a/native/commonizer/testData/propertyCommonization/liftingUpConst/commonized/js/package_root.kt b/native/commonizer/testData/propertyCommonization/liftingUpConst/commonized/js/package_root.kt new file mode 100644 index 00000000000..7ae0ccd474d --- /dev/null +++ b/native/commonizer/testData/propertyCommonization/liftingUpConst/commonized/js/package_root.kt @@ -0,0 +1,22 @@ +const val property2 = 42 +val property3 = 42 // intentionally left as non-const +actual val property4 = 42 + +const val property6: Byte = 42 +const val property8: Short = 42 +const val property10: Long = 42 +const val property12: Double = 4.2 +const val property14: Float = 4.2f +const val property16 = true +const val property18 = "42" +const val property20: Char = 42.toChar() + +const val property21: Byte = 42 +const val property22: Short = 42 +const val property23: Int = 42 +const val property24: Long = 42 +const val property25: Double = 4.2 +const val property26: Float = 4.2f +const val property27 = true +const val property28 = "42" +const val property29: Char = 42.toChar() diff --git a/native/commonizer/testData/propertyCommonization/liftingUpConst/commonized/jvm/package_root.kt b/native/commonizer/testData/propertyCommonization/liftingUpConst/commonized/jvm/package_root.kt new file mode 100644 index 00000000000..c4a4d06d091 --- /dev/null +++ b/native/commonizer/testData/propertyCommonization/liftingUpConst/commonized/jvm/package_root.kt @@ -0,0 +1,22 @@ +val property2 = 42 // intentionally left as non-const +const val property3 = 42 +actual val property4 = 42 + +const val property6: Byte = 142 +const val property8: Short = 142 +const val property10: Long = 142 +const val property12: Double = 14.2 +const val property14: Float = 14.2f +const val property16 = false +const val property18 = "142" +const val property20: Char = 142.toChar() + +const val property21: Char = 42.toChar() +const val property22: Byte = 42 +const val property23: Short = 42 +const val property24: Int = 42 +const val property25: Long = 42 +const val property26: Double = 4.2 +const val property27: Float = 4.2f +const val property28 = true +const val property29 = "42" diff --git a/native/commonizer/testData/propertyCommonization/liftingUpConst/original/js/package_root.kt b/native/commonizer/testData/propertyCommonization/liftingUpConst/original/js/package_root.kt new file mode 100644 index 00000000000..293264cdae7 --- /dev/null +++ b/native/commonizer/testData/propertyCommonization/liftingUpConst/original/js/package_root.kt @@ -0,0 +1,38 @@ +const val property1 = 42 +const val property2 = 42 +val property3 = 42 // intentionally left as non-const +val property4 = 42 // intentionally left as non-const + +const val property5: Byte = 42 +const val property6: Byte = 42 + +const val property7: Short = 42 +const val property8: Short = 42 + +const val property9: Long = 42 +const val property10: Long = 42 + +const val property11: Double = 4.2 +const val property12: Double = 4.2 + +const val property13: Float = 4.2f +const val property14: Float = 4.2f + +const val property15 = true +const val property16 = true + +const val property17 = "42" +const val property18 = "42" + +const val property19: Char = 42.toChar() +const val property20: Char = 42.toChar() + +const val property21: Byte = 42 +const val property22: Short = 42 +const val property23: Int = 42 +const val property24: Long = 42 +const val property25: Double = 4.2 +const val property26: Float = 4.2f +const val property27 = true +const val property28 = "42" +const val property29: Char = 42.toChar() diff --git a/native/commonizer/testData/propertyCommonization/liftingUpConst/original/jvm/package_root.kt b/native/commonizer/testData/propertyCommonization/liftingUpConst/original/jvm/package_root.kt new file mode 100644 index 00000000000..e15a7ac03dc --- /dev/null +++ b/native/commonizer/testData/propertyCommonization/liftingUpConst/original/jvm/package_root.kt @@ -0,0 +1,38 @@ +const val property1 = 42 +val property2 = 42 // intentionally left as non-const +const val property3 = 42 +val property4 = 42 // intentionally left as non-const + +const val property5: Byte = 42 +const val property6: Byte = 142 + +const val property7: Short = 42 +const val property8: Short = 142 + +const val property9: Long = 42 +const val property10: Long = 142 + +const val property11: Double = 4.2 +const val property12: Double = 14.2 + +const val property13: Float = 4.2f +const val property14: Float = 14.2f + +const val property15 = true +const val property16 = false + +const val property17 = "42" +const val property18 = "142" + +const val property19: Char = 42.toChar() +const val property20: Char = 142.toChar() + +const val property21: Char = 42.toChar() +const val property22: Byte = 42 +const val property23: Short = 42 +const val property24: Int = 42 +const val property25: Long = 42 +const val property26: Double = 4.2 +const val property27: Float = 4.2f +const val property28 = true +const val property29 = "42" diff --git a/native/commonizer/testData/propertyCommonization/specifics/commonized/js/package_root.kt b/native/commonizer/testData/propertyCommonization/specifics/commonized/js/package_root.kt index b019f9aef05..f7837539c6a 100644 --- a/native/commonizer/testData/propertyCommonization/specifics/commonized/js/package_root.kt +++ b/native/commonizer/testData/propertyCommonization/specifics/commonized/js/package_root.kt @@ -1,6 +1,3 @@ -const val constProperty1 = 42 -const val constProperty2 = 42 - actual val delegatedProperty1: Int by lazy { 42 } actual val delegatedProperty2: Int by lazy { 42 } actual val delegatedProperty3: Int by mapOf("delegatedProperty3" to 42) diff --git a/native/commonizer/testData/propertyCommonization/specifics/commonized/jvm/package_root.kt b/native/commonizer/testData/propertyCommonization/specifics/commonized/jvm/package_root.kt index d6386a8bee3..964e5a6a73a 100644 --- a/native/commonizer/testData/propertyCommonization/specifics/commonized/jvm/package_root.kt +++ b/native/commonizer/testData/propertyCommonization/specifics/commonized/jvm/package_root.kt @@ -1,6 +1,3 @@ -const val constProperty1 = 42 -val constProperty2 = 42 // intentionally left as non-const - actual val delegatedProperty1: Int by lazy { 42 } actual val delegatedProperty2 = 42 // intentionally left as non-delegated actual val delegatedProperty3: Int by mapOf("delegatedProperty3" to 42) diff --git a/native/commonizer/testData/propertyCommonization/specifics/original/js/package_root.kt b/native/commonizer/testData/propertyCommonization/specifics/original/js/package_root.kt index dd5947da28f..20115bd33e5 100644 --- a/native/commonizer/testData/propertyCommonization/specifics/original/js/package_root.kt +++ b/native/commonizer/testData/propertyCommonization/specifics/original/js/package_root.kt @@ -1,6 +1,3 @@ -const val constProperty1 = 42 -const val constProperty2 = 42 - val delegatedProperty1: Int by lazy { 42 } val delegatedProperty2: Int by lazy { 42 } val delegatedProperty3: Int by mapOf("delegatedProperty3" to 42) diff --git a/native/commonizer/testData/propertyCommonization/specifics/original/jvm/package_root.kt b/native/commonizer/testData/propertyCommonization/specifics/original/jvm/package_root.kt index 88d1cb4b92d..7fcc4ed0c37 100644 --- a/native/commonizer/testData/propertyCommonization/specifics/original/jvm/package_root.kt +++ b/native/commonizer/testData/propertyCommonization/specifics/original/jvm/package_root.kt @@ -1,6 +1,3 @@ -const val constProperty1 = 42 -val constProperty2 = 42 // intentionally left as non-const - val delegatedProperty1: Int by lazy { 42 } val delegatedProperty2 = 42 // intentionally left as non-delegated val delegatedProperty3: Int by mapOf("delegatedProperty3" to 42) diff --git a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/PropertyCommonizationFromSourcesTest.kt b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/PropertyCommonizationFromSourcesTest.kt index d7a995115fd..0a9c1950310 100644 --- a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/PropertyCommonizationFromSourcesTest.kt +++ b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/PropertyCommonizationFromSourcesTest.kt @@ -13,4 +13,6 @@ class PropertyCommonizationFromSourcesTest : AbstractCommonizationFromSourcesTes fun testSpecifics() = doTestSuccessfulCommonization() fun testSetters() = doTestSuccessfulCommonization() + + fun testLiftingUpConst() = doTestSuccessfulCommonization() }