Use type from compile time value for prefix expression
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
fun fooInt(p: Int) = p
|
||||
fun fooLong(p: Long) = p
|
||||
fun fooByte(p: Byte) = p
|
||||
fun fooShort(p: Short) = p
|
||||
|
||||
fun test() {
|
||||
fooInt(-1)
|
||||
fooInt(<!TYPE_MISMATCH!>-1111111111111111111<!>)
|
||||
fooInt(-1.toInt())
|
||||
fooInt(<!TYPE_MISMATCH!>-1.toByte()<!>)
|
||||
fooInt(<!TYPE_MISMATCH!>-1.toLong()<!>)
|
||||
fooInt(<!TYPE_MISMATCH!>-1.toShort()<!>)
|
||||
|
||||
fooByte(-1)
|
||||
fooByte(<!TYPE_MISMATCH!>-1111111111111111111<!>)
|
||||
fooByte(<!TYPE_MISMATCH!>-1.toInt()<!>)
|
||||
fooByte(-1.toByte())
|
||||
fooByte(<!TYPE_MISMATCH!>-1.toLong()<!>)
|
||||
fooByte(<!TYPE_MISMATCH!>-1.toShort()<!>)
|
||||
|
||||
fooLong(-1)
|
||||
fooLong(-1111111111111111111)
|
||||
fooLong(<!TYPE_MISMATCH!>-1.toInt()<!>)
|
||||
fooLong(<!TYPE_MISMATCH!>-1.toByte()<!>)
|
||||
fooLong(-1.toLong())
|
||||
fooLong(<!TYPE_MISMATCH!>-1.toShort()<!>)
|
||||
|
||||
fooShort(-1)
|
||||
fooShort(<!TYPE_MISMATCH!>-1111111111111111111<!>)
|
||||
fooShort(<!TYPE_MISMATCH!>-1.toInt()<!>)
|
||||
fooShort(<!TYPE_MISMATCH!>-1.toByte()<!>)
|
||||
fooShort(<!TYPE_MISMATCH!>-1.toLong()<!>)
|
||||
fooShort(-1.toShort())
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
val p1 = -1
|
||||
val p2 = -1.toLong()
|
||||
val p3 = -1.toByte()
|
||||
val p4 = -1.toInt()
|
||||
val p5 = -1.toShort()
|
||||
val p6 = -1111111111111111111
|
||||
|
||||
fun fooInt(p: Int) = p
|
||||
fun fooLong(p: Long) = p
|
||||
fun fooByte(p: Byte) = p
|
||||
fun fooShort(p: Short) = p
|
||||
|
||||
fun test() {
|
||||
fooInt(p1)
|
||||
fooInt(<!TYPE_MISMATCH!>p2<!>)
|
||||
fooInt(<!TYPE_MISMATCH!>p3<!>)
|
||||
fooInt(p4)
|
||||
fooInt(<!TYPE_MISMATCH!>p5<!>)
|
||||
fooInt(<!TYPE_MISMATCH!>p6<!>)
|
||||
|
||||
fooLong(<!TYPE_MISMATCH!>p1<!>)
|
||||
fooLong(p2)
|
||||
fooLong(<!TYPE_MISMATCH!>p3<!>)
|
||||
fooLong(<!TYPE_MISMATCH!>p4<!>)
|
||||
fooLong(<!TYPE_MISMATCH!>p5<!>)
|
||||
fooLong(p6)
|
||||
|
||||
fooShort(<!TYPE_MISMATCH!>p1<!>)
|
||||
fooShort(<!TYPE_MISMATCH!>p2<!>)
|
||||
fooShort(<!TYPE_MISMATCH!>p3<!>)
|
||||
fooShort(<!TYPE_MISMATCH!>p4<!>)
|
||||
fooShort(p5)
|
||||
fooShort(<!TYPE_MISMATCH!>p6<!>)
|
||||
|
||||
fooByte(<!TYPE_MISMATCH!>p1<!>)
|
||||
fooByte(<!TYPE_MISMATCH!>p2<!>)
|
||||
fooByte(p3)
|
||||
fooByte(<!TYPE_MISMATCH!>p4<!>)
|
||||
fooByte(<!TYPE_MISMATCH!>p5<!>)
|
||||
fooByte(<!TYPE_MISMATCH!>p6<!>)
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
val p1: Int = -1
|
||||
val p2: Long = -1
|
||||
val p3: Byte = -1
|
||||
val p4: Short = -1
|
||||
|
||||
val lp1: Int = <!TYPE_MISMATCH!>-1111111111111111111<!>
|
||||
val lp2: Long = -1111111111111111111
|
||||
val lp3: Byte = <!TYPE_MISMATCH!>-1111111111111111111<!>
|
||||
val lp4: Short = <!TYPE_MISMATCH!>-1111111111111111111<!>
|
||||
|
||||
val l1: Long = -1.toLong()
|
||||
val l2: Byte = <!TYPE_MISMATCH!>-1.toLong()<!>
|
||||
val l3: Int = <!TYPE_MISMATCH!>-1.toLong()<!>
|
||||
val l4: Short = <!TYPE_MISMATCH!>-1.toLong()<!>
|
||||
|
||||
val b1: Byte = -1.toByte()
|
||||
val b2: Int = <!TYPE_MISMATCH!>-1.toByte()<!>
|
||||
val b3: Long = <!TYPE_MISMATCH!>-1.toByte()<!>
|
||||
val b4: Short = <!TYPE_MISMATCH!>-1.toByte()<!>
|
||||
|
||||
val i1: Byte = <!TYPE_MISMATCH!>-1.toInt()<!>
|
||||
val i2: Int = -1.toInt()
|
||||
val i3: Long = <!TYPE_MISMATCH!>-1.toInt()<!>
|
||||
val i4: Short = <!TYPE_MISMATCH!>-1.toInt()<!>
|
||||
|
||||
val s1: Byte = <!TYPE_MISMATCH!>-1.toShort()<!>
|
||||
val s2: Int = <!TYPE_MISMATCH!>-1.toShort()<!>
|
||||
val s3: Long = <!TYPE_MISMATCH!>-1.toShort()<!>
|
||||
val s4: Short = -1.toShort()
|
||||
Reference in New Issue
Block a user