Postpone ApproximateIntegerLiteralTypesInReceiverPosition feature till 1.7

^KT-38895
This commit is contained in:
Dmitriy Novozhilov
2021-09-02 11:12:05 +03:00
committed by teamcityserver
parent 6a8f36e313
commit 8117cd4c24
9 changed files with 30 additions and 29 deletions
@@ -1,24 +1,24 @@
val p1: Int = 1 - 1
val p2: Long = <!TYPE_MISMATCH!>1 - 1<!>
val p3: Byte = <!TYPE_MISMATCH!>1 - 1<!>
val p4: Short = <!TYPE_MISMATCH!>1 - 1<!>
val p2: Long = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE!>1 - 1<!>
val p3: Byte = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE!>1 - 1<!>
val p4: Short = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE!>1 - 1<!>
val l1: Long = 1 - 1.toLong()
val l2: Byte = <!TYPE_MISMATCH!>1 - 1.toLong()<!>
val l3: Int = <!TYPE_MISMATCH!>1 - 1.toLong()<!>
val l4: Short = <!TYPE_MISMATCH!>1 - 1.toLong()<!>
val l2: Byte = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toLong()<!>
val l3: Int = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toLong()<!>
val l4: Short = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toLong()<!>
val b1: Byte = <!TYPE_MISMATCH!>1 - 1.toByte()<!>
val b1: Byte = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toByte()<!>
val b2: Int = 1 - 1.toByte()
val b3: Long = <!TYPE_MISMATCH!>1 - 1.toByte()<!>
val b4: Short = <!TYPE_MISMATCH!>1 - 1.toByte()<!>
val b3: Long = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toByte()<!>
val b4: Short = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toByte()<!>
val i1: Byte = <!TYPE_MISMATCH!>1 - 1.toInt()<!>
val i1: Byte = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toInt()<!>
val i2: Int = 1 - 1.toInt()
val i3: Long = <!TYPE_MISMATCH!>1 - 1.toInt()<!>
val i4: Short = <!TYPE_MISMATCH!>1 - 1.toInt()<!>
val i3: Long = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toInt()<!>
val i4: Short = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toInt()<!>
val s1: Byte = <!TYPE_MISMATCH!>1 - 1.toShort()<!>
val s1: Byte = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toShort()<!>
val s2: Int = 1 - 1.toShort()
val s3: Long = <!TYPE_MISMATCH!>1 - 1.toShort()<!>
val s4: Short = <!TYPE_MISMATCH!>1 - 1.toShort()<!>
val s3: Long = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toShort()<!>
val s4: Short = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toShort()<!>
@@ -13,9 +13,9 @@ public val l2: kotlin.Byte = 0.toLong()
public val l3: kotlin.Int = 0.toLong()
public val l4: kotlin.Short = 0.toLong()
public val p1: kotlin.Int = 0
public val p2: kotlin.Long = 0
public val p3: kotlin.Byte = 0
public val p4: kotlin.Short = 0
public val p2: kotlin.Long = 0.toLong()
public val p3: kotlin.Byte = 0.toByte()
public val p4: kotlin.Short = 0.toShort()
public val s1: kotlin.Byte = 0
public val s2: kotlin.Int = 0
public val s3: kotlin.Long = 0
@@ -15,7 +15,7 @@ val a10 = <!DIVISION_BY_ZERO!>1 / 0.0f<!>
val a11 = <!DIVISION_BY_ZERO!>1 / 0.0<!>
val a12 = <!DIVISION_BY_ZERO!>1L / 0<!>
val b1: Byte = <!DIVISION_BY_ZERO, TYPE_MISMATCH!>1 / 0<!>
val b1: Byte = <!DIVISION_BY_ZERO, INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 / 0<!>
@Ann(<!ANNOTATION_ARGUMENT_MUST_BE_CONST, DIVISION_BY_ZERO!>1 / 0<!>) val b2 = 1
annotation class Ann(val i : Int)
annotation class Ann(val i : Int)
@@ -1,4 +1,5 @@
// FIR_IDENTICAL
// LANGUAGE: +ApproximateIntegerLiteralTypesInReceiverPosition
val p1: Byte = <!TYPE_MISMATCH!>(1 + 2) * 2<!>
val p2: Short = <!TYPE_MISMATCH!>(1 + 2) * 2<!>
val p3: Int = (1 + 2) * 2
@@ -7,9 +7,9 @@ fun fooShort(p: Short) = p
fun test() {
fooInt(1 % 1)
fooByte(<!TYPE_MISMATCH!>1 % 1<!>)
fooLong(<!TYPE_MISMATCH!>1 % 1<!>)
fooShort(<!TYPE_MISMATCH!>1 % 1<!>)
fooByte(<!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE!>1 % 1<!>)
fooLong(<!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE!>1 % 1<!>)
fooShort(<!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE!>1 % 1<!>)
}
public operator fun Int.<!EXTENSION_SHADOWED_BY_MEMBER!>rem<!>(other: Int): Int = 0
@@ -10,8 +10,8 @@ fun takeUBytes(vararg u: UByte) {}
fun takeNullableUInt(u: UInt?) {}
fun test() {
takeUInt(<!TYPE_MISMATCH!>1 + 2<!>)
takeUInt(<!TYPE_MISMATCH!>1.plus(2)<!>)
takeUInt(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>1 + 2<!>)
takeUInt(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>1.plus(2)<!>)
takeNullableUInt(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>4<!>)
takeUInt(<!TYPE_MISMATCH!>Int.MAX_VALUE * 2L<!>)
@@ -33,7 +33,7 @@ fun test() {
takeUInt(<!INTEGER_OVERFLOW, TYPE_MISMATCH!>Int.MAX_VALUE * 2<!>)
takeUInt(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>4294967294<!>)
takeUBytes(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>1<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>2<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>255<!>, <!CONSTANT_EXPECTED_TYPE_MISMATCH, SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>256<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>0<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED, TYPE_MISMATCH!>-1<!>, <!TYPE_MISMATCH!>40 + 2<!>)
takeUBytes(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>1<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>2<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>255<!>, <!CONSTANT_EXPECTED_TYPE_MISMATCH, SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>256<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>0<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED, TYPE_MISMATCH!>-1<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>40 + 2<!>)
takeUInt(<!TYPE_MISMATCH!>1.myPlus(2)<!>)
@@ -20,7 +20,7 @@ fun first(arg: Int) = when (arg) {
<!DUPLICATE_LABEL_IN_WHEN!>1<!> -> 6
<!DUPLICATE_LABEL_IN_WHEN!>2<!> -> 7
// Error should be here: see KT-11971
<!DUPLICATE_LABEL_IN_WHEN!>four<!> -> 8
four -> 8
else -> 0
}
+1 -1
View File
@@ -43,7 +43,7 @@ fun test() {
<!INCOMPATIBLE_TYPES!>s<!> -> 1
<!DUPLICATE_LABEL_IN_WHEN, INCOMPATIBLE_TYPES!>""<!> -> 1
x -> 1
<!DUPLICATE_LABEL_IN_WHEN!>1<!> -> 1
1 -> 1
}
val z = 1