Record COMPILE_TIME_INITIALIZER for all final variables
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||
|
||||
val intMaxValue: Int = 0x7fffffff
|
||||
val intMinValue: Int = 1 shl 31
|
||||
|
||||
@@ -18,4 +20,48 @@ val i15: Int = <!INTEGER_OVERFLOW!>intMinValue / -1<!>
|
||||
val l20: Int = <!INTEGER_OVERFLOW!>30 * 24 * 60 * 60 * 1000<!>
|
||||
val l21: Int = intMinValue - intMinValue
|
||||
val l22: Int = <!INTEGER_OVERFLOW!>intMinValue + <!INTEGER_OVERFLOW!>-intMinValue<!><!>
|
||||
val l23: Int = intMaxValue + <!INTEGER_OVERFLOW!>-intMinValue<!>
|
||||
val l23: Int = intMaxValue + <!INTEGER_OVERFLOW!>-intMinValue<!>
|
||||
|
||||
fun foo() {
|
||||
val a3: Int = <!INTEGER_OVERFLOW!><!INTEGER_OVERFLOW!>intMaxValue + 1<!> - 10<!>
|
||||
val a4: Int = <!INTEGER_OVERFLOW!>intMaxValue + 1<!> + 10
|
||||
val i2: Int = <!INTEGER_OVERFLOW!>intMaxValue - 1 + 2<!>
|
||||
val i3: Int = <!INTEGER_OVERFLOW!>intMaxValue - intMinValue<!>
|
||||
val i4: Int = <!INTEGER_OVERFLOW!>-intMinValue<!>
|
||||
val i5: Int = <!INTEGER_OVERFLOW!>intMinValue - 1<!>
|
||||
val i6: Int = <!INTEGER_OVERFLOW!>intMinValue - intMaxValue<!>
|
||||
val i7: Int = intMinValue + intMaxValue
|
||||
val i8: Int = -intMaxValue
|
||||
val i10: Int = <!INTEGER_OVERFLOW!>intMinValue * -1<!>
|
||||
val i11: Int = <!INTEGER_OVERFLOW!>intMinValue * 2<!>
|
||||
val i12: Int = <!INTEGER_OVERFLOW!>intMaxValue * -2<!>
|
||||
val i13: Int = intMaxValue * -1
|
||||
val i15: Int = <!INTEGER_OVERFLOW!>intMinValue / -1<!>
|
||||
val l20: Int = <!INTEGER_OVERFLOW!>30 * 24 * 60 * 60 * 1000<!>
|
||||
val l21: Int = intMinValue - intMinValue
|
||||
val l22: Int = <!INTEGER_OVERFLOW!>intMinValue + <!INTEGER_OVERFLOW!>-intMinValue<!><!>
|
||||
val l23: Int = intMaxValue + <!INTEGER_OVERFLOW!>-intMinValue<!>
|
||||
}
|
||||
|
||||
class A {
|
||||
fun foo() {
|
||||
val a3: Int = <!INTEGER_OVERFLOW!><!INTEGER_OVERFLOW!>intMaxValue + 1<!> - 10<!>
|
||||
val a4: Int = <!INTEGER_OVERFLOW!>intMaxValue + 1<!> + 10
|
||||
val i2: Int = <!INTEGER_OVERFLOW!>intMaxValue - 1 + 2<!>
|
||||
val i3: Int = <!INTEGER_OVERFLOW!>intMaxValue - intMinValue<!>
|
||||
val i4: Int = <!INTEGER_OVERFLOW!>-intMinValue<!>
|
||||
val i5: Int = <!INTEGER_OVERFLOW!>intMinValue - 1<!>
|
||||
val i6: Int = <!INTEGER_OVERFLOW!>intMinValue - intMaxValue<!>
|
||||
val i7: Int = intMinValue + intMaxValue
|
||||
val i8: Int = -intMaxValue
|
||||
val i10: Int = <!INTEGER_OVERFLOW!>intMinValue * -1<!>
|
||||
val i11: Int = <!INTEGER_OVERFLOW!>intMinValue * 2<!>
|
||||
val i12: Int = <!INTEGER_OVERFLOW!>intMaxValue * -2<!>
|
||||
val i13: Int = intMaxValue * -1
|
||||
val i15: Int = <!INTEGER_OVERFLOW!>intMinValue / -1<!>
|
||||
val l20: Int = <!INTEGER_OVERFLOW!>30 * 24 * 60 * 60 * 1000<!>
|
||||
val l21: Int = intMinValue - intMinValue
|
||||
val l22: Int = <!INTEGER_OVERFLOW!>intMinValue + <!INTEGER_OVERFLOW!>-intMinValue<!><!>
|
||||
val l23: Int = intMaxValue + <!INTEGER_OVERFLOW!>-intMinValue<!>
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,5 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||
|
||||
val longMaxValue: Long = 0x7fffffffffffffff
|
||||
val longMinValue: Long = -longMaxValue - 1
|
||||
val intMaxValue: Int = 0x7fffffff
|
||||
@@ -20,4 +22,44 @@ val l13: Long = <!INTEGER_OVERFLOW!>longMinValue * -1<!>
|
||||
val l14: Long = <!INTEGER_OVERFLOW!>longMinValue * 2<!>
|
||||
val l15: Long = <!INTEGER_OVERFLOW!>longMaxValue * -2<!>
|
||||
val l16: Long = intMinValue.toLong() * -1
|
||||
val l19: Long = <!INTEGER_OVERFLOW!>longMinValue / -1<!>
|
||||
val l19: Long = <!INTEGER_OVERFLOW!>longMinValue / -1<!>
|
||||
|
||||
fun foo() {
|
||||
val l1: Long = <!INTEGER_OVERFLOW!>longMaxValue + 1<!>
|
||||
val l2: Long = <!INTEGER_OVERFLOW!>longMaxValue - 1 + 2<!>
|
||||
val l3: Long = <!INTEGER_OVERFLOW!>longMaxValue - longMinValue<!>
|
||||
val l4: Long = <!INTEGER_OVERFLOW!>-longMinValue<!>
|
||||
val l5: Long = <!INTEGER_OVERFLOW!>longMinValue - 1<!>
|
||||
val l6: Long = <!INTEGER_OVERFLOW!>longMinValue - longMaxValue<!>
|
||||
val l7: Long = longMinValue + longMaxValue
|
||||
val l8: Long = -longMaxValue
|
||||
val l10: Long = -intMinValue.toLong()
|
||||
val l11: Long = -1 + intMinValue.toLong()
|
||||
val l12: Long = <!INTEGER_OVERFLOW!>longMinValue * intMinValue<!>
|
||||
val l13: Long = <!INTEGER_OVERFLOW!>longMinValue * -1<!>
|
||||
val l14: Long = <!INTEGER_OVERFLOW!>longMinValue * 2<!>
|
||||
val l15: Long = <!INTEGER_OVERFLOW!>longMaxValue * -2<!>
|
||||
val l16: Long = intMinValue.toLong() * -1
|
||||
val l19: Long = <!INTEGER_OVERFLOW!>longMinValue / -1<!>
|
||||
}
|
||||
|
||||
class A {
|
||||
fun foo() {
|
||||
val l1: Long = <!INTEGER_OVERFLOW!>longMaxValue + 1<!>
|
||||
val l2: Long = <!INTEGER_OVERFLOW!>longMaxValue - 1 + 2<!>
|
||||
val l3: Long = <!INTEGER_OVERFLOW!>longMaxValue - longMinValue<!>
|
||||
val l4: Long = <!INTEGER_OVERFLOW!>-longMinValue<!>
|
||||
val l5: Long = <!INTEGER_OVERFLOW!>longMinValue - 1<!>
|
||||
val l6: Long = <!INTEGER_OVERFLOW!>longMinValue - longMaxValue<!>
|
||||
val l7: Long = longMinValue + longMaxValue
|
||||
val l8: Long = -longMaxValue
|
||||
val l10: Long = -intMinValue.toLong()
|
||||
val l11: Long = -1 + intMinValue.toLong()
|
||||
val l12: Long = <!INTEGER_OVERFLOW!>longMinValue * intMinValue<!>
|
||||
val l13: Long = <!INTEGER_OVERFLOW!>longMinValue * -1<!>
|
||||
val l14: Long = <!INTEGER_OVERFLOW!>longMinValue * 2<!>
|
||||
val l15: Long = <!INTEGER_OVERFLOW!>longMaxValue * -2<!>
|
||||
val l16: Long = intMinValue.toLong() * -1
|
||||
val l19: Long = <!INTEGER_OVERFLOW!>longMinValue / -1<!>
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
// FILE: a.kt
|
||||
package example.ns
|
||||
val y: Any? = 2
|
||||
|
||||
// FILE: b.kt
|
||||
package example
|
||||
|
||||
val x: Int = if (ns.y is Int) <!DEBUG_INFO_AUTOCAST!>ns.y<!> else 2
|
||||
Reference in New Issue
Block a user