[FIR-TEST] Add new testdata generated after changes in previous commit
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
fun fooInt(p: Int) = p
|
||||
fun fooLong(p: Long) = p
|
||||
fun fooByte(p: Byte) = p
|
||||
fun fooShort(p: Short) = p
|
||||
|
||||
fun test() {
|
||||
fooInt(1 - 1)
|
||||
fooInt(1 - 1.toInt())
|
||||
fooInt(1 - 1.toByte())
|
||||
<!INAPPLICABLE_CANDIDATE!>fooInt<!>(1 - 1.toLong())
|
||||
fooInt(1 - 1.toShort())
|
||||
|
||||
fooByte(1 - 1)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(1 - 1.toInt())
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(1 - 1.toByte())
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(1 - 1.toLong())
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(1 - 1.toShort())
|
||||
|
||||
fooLong(1 - 1)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooLong<!>(1 - 1.toInt())
|
||||
<!INAPPLICABLE_CANDIDATE!>fooLong<!>(1 - 1.toByte())
|
||||
fooLong(1 - 1.toLong())
|
||||
<!INAPPLICABLE_CANDIDATE!>fooLong<!>(1 - 1.toShort())
|
||||
|
||||
fooShort(1 - 1)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(1 - 1.toInt())
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(1 - 1.toByte())
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(1 - 1.toLong())
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(1 - 1.toShort())
|
||||
}
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
val p1 = 1 - 1
|
||||
val p2 = 1 - 1.toLong()
|
||||
val p3 = 1 - 1.toByte()
|
||||
val p4 = 1 - 1.toInt()
|
||||
val p5 = 1 - 1.toShort()
|
||||
|
||||
fun fooInt(p: Int) = p
|
||||
fun fooLong(p: Long) = p
|
||||
fun fooByte(p: Byte) = p
|
||||
fun fooShort(p: Short) = p
|
||||
|
||||
fun test() {
|
||||
fooInt(p1)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooInt<!>(p2)
|
||||
fooInt(p3)
|
||||
fooInt(p4)
|
||||
fooInt(p5)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>fooLong<!>(p1)
|
||||
fooLong(p2)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooLong<!>(p3)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooLong<!>(p4)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooLong<!>(p5)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(p1)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(p2)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(p3)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(p4)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(p5)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(p1)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(p2)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(p3)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(p4)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(p5)
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
val p1: Int = 1 - 1
|
||||
val p2: Long = 1 - 1
|
||||
val p3: Byte = 1 - 1
|
||||
val p4: Short = 1 - 1
|
||||
|
||||
val l1: Long = 1 - 1.toLong()
|
||||
val l2: Byte = 1 - 1.toLong()
|
||||
val l3: Int = 1 - 1.toLong()
|
||||
val l4: Short = 1 - 1.toLong()
|
||||
|
||||
val b1: Byte = 1 - 1.toByte()
|
||||
val b2: Int = 1 - 1.toByte()
|
||||
val b3: Long = 1 - 1.toByte()
|
||||
val b4: Short = 1 - 1.toByte()
|
||||
|
||||
val i1: Byte = 1 - 1.toInt()
|
||||
val i2: Int = 1 - 1.toInt()
|
||||
val i3: Long = 1 - 1.toInt()
|
||||
val i4: Short = 1 - 1.toInt()
|
||||
|
||||
val s1: Byte = 1 - 1.toShort()
|
||||
val s2: Int = 1 - 1.toShort()
|
||||
val s3: Long = 1 - 1.toShort()
|
||||
val s4: Short = 1 - 1.toShort()
|
||||
@@ -0,0 +1,18 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||
// !WITH_NEW_INFERENCE
|
||||
|
||||
val a1 = 0
|
||||
val a2 = 1 / 0
|
||||
val a3 = 1 / a1
|
||||
val a4 = 1 / a2
|
||||
val a5 = 2 * (1 / 0)
|
||||
|
||||
val a6 = 1.div(0)
|
||||
val a7 = 1.div(a1)
|
||||
val a8 = 1.div(a2)
|
||||
val a9 = 2 * (1.div(0))
|
||||
|
||||
val b1: Byte = 1 / 0
|
||||
@Ann(1 / 0) val b2 = 1
|
||||
|
||||
annotation class Ann(val i : Int)
|
||||
@@ -0,0 +1,10 @@
|
||||
val a1: Float = 1F
|
||||
val a2: Float = 1.0F
|
||||
val a3: Float = 1e-1F
|
||||
val a4: Float = 1.0e-1F
|
||||
|
||||
val b5: Float = 1f
|
||||
val b6: Float = 1.0f
|
||||
val b7: Float = 1e-1f
|
||||
val b8: Float = 1.0e-1f
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE, -UNUSED_EXPRESSION
|
||||
|
||||
fun test() {
|
||||
1.2E400F
|
||||
1.2E-400F
|
||||
11111111111111111111111111111111111111111111111111111111111111111F
|
||||
0.000000000000000000000000000000000000000000000000000000000000001F
|
||||
0.000000000000000000000000000000000000001000000000000000000000000F
|
||||
|
||||
1.2E400f
|
||||
1.2E-400f
|
||||
11111111111111111111111111111111111111111111111111111111111111111f
|
||||
0.000000000000000000000000000000000000000000000000000000000000001f
|
||||
0.000000000000000000000000000000000000001000000000000000000000000f
|
||||
|
||||
val d1: Double = 1.2E400
|
||||
val d2: Double = 1.2E-400
|
||||
val d3: Double = 11111111111111111111111111111111111111111111111111111111111111111.0
|
||||
val d4: Double = 0.000000000000000000000000000000000000000000000000000000000000001
|
||||
val d5: Double = 0.000000000000000000000000000000000000001000000000000000000000000
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE, -UNUSED_PARAMETER
|
||||
|
||||
infix fun Int.rem(other: Int) = 10
|
||||
infix operator fun Int.minus(other: Int): Int = 20
|
||||
|
||||
const val a1 = (-5) rem 2
|
||||
const val a2 = (-5).rem(2)
|
||||
|
||||
const val b1 = 5 minus 3
|
||||
const val b2 = 5.minus(3)
|
||||
Vendored
+44
@@ -0,0 +1,44 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
// JAVAC_SKIP
|
||||
|
||||
// FILE: uint.kt
|
||||
|
||||
package kotlin
|
||||
|
||||
inline class UByte(private val b: Byte)
|
||||
inline class UShort(private val s: Short)
|
||||
inline class UInt(private val i: Int)
|
||||
inline class ULong(private val l: Long)
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
annotation class AnnoUB(val ub0: UByte, val ub1: UByte)
|
||||
annotation class AnnoUS(val us0: UShort, val us1: UShort)
|
||||
annotation class AnnoUI(val ui0: UInt, val ui1: UInt, val ui2: UInt, val ui3: UInt)
|
||||
annotation class AnnoUL(val ul0: ULong, val ul1: ULong)
|
||||
|
||||
const val ub0 = <!UNRESOLVED_REFERENCE!>UByte<!>(1)
|
||||
const val us0 = <!UNRESOLVED_REFERENCE!>UShort<!>(2)
|
||||
const val ul0 = <!UNRESOLVED_REFERENCE!>ULong<!>(3)
|
||||
|
||||
const val ui0 = <!UNRESOLVED_REFERENCE!>UInt<!>(-1)
|
||||
const val ui1 = <!UNRESOLVED_REFERENCE!>UInt<!>(0)
|
||||
const val ui2 = <!UNRESOLVED_REFERENCE!>UInt<!>(40 + 2)
|
||||
|
||||
@AnnoUB(<!UNRESOLVED_REFERENCE!>UByte<!>(1), ub0)
|
||||
fun f0() {}
|
||||
|
||||
@AnnoUS(<!UNRESOLVED_REFERENCE!>UShort<!>(2 + 5), us0)
|
||||
fun f1() {}
|
||||
|
||||
@AnnoUI(ui0, ui1, ui2, <!UNRESOLVED_REFERENCE!>UInt<!>(100))
|
||||
fun f2() {}
|
||||
|
||||
@AnnoUL(ul0, <!UNRESOLVED_REFERENCE!>ULong<!>(5))
|
||||
fun f3() {}
|
||||
|
||||
const val explicit: UInt = <!UNRESOLVED_REFERENCE!>UInt<!>(2)
|
||||
|
||||
const val nullable: UInt? = <!UNRESOLVED_REFERENCE!>UInt<!>(3)
|
||||
|
||||
annotation class NullableAnno(val u: UInt?)
|
||||
@@ -0,0 +1,77 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||
|
||||
val intMaxValue: Int = 0x7fffffff
|
||||
val intMinValue: Int = 1 shl 31
|
||||
|
||||
val a3: Int = intMaxValue + 1 - 10
|
||||
val a4: Int = intMaxValue + 1 + 10
|
||||
val i2: Int = intMaxValue - 1 + 2
|
||||
val i3: Int = intMaxValue - intMinValue
|
||||
val i4: Int = -intMinValue
|
||||
val i5: Int = intMinValue - 1
|
||||
val i6: Int = intMinValue - intMaxValue
|
||||
val i7: Int = intMinValue + intMaxValue
|
||||
val i8: Int = -intMaxValue
|
||||
val i10: Int = intMinValue * -1
|
||||
val i11: Int = intMinValue * 2
|
||||
val i12: Int = intMaxValue * -2
|
||||
val i13: Int = intMaxValue * -1
|
||||
val i15: Int = intMinValue / -1
|
||||
val l20: Int = 30 * 24 * 60 * 60 * 1000
|
||||
val l21: Int = intMinValue - intMinValue
|
||||
val l22: Int = intMinValue + -intMinValue
|
||||
val l23: Int = intMaxValue + -intMinValue
|
||||
val l24: Int = (-1).mod(5)
|
||||
val l25: Int = (-1).rem(5)
|
||||
val l26: Int = (-1) % 5
|
||||
|
||||
|
||||
fun foo() {
|
||||
val a3: Int = intMaxValue + 1 - 10
|
||||
val a4: Int = intMaxValue + 1 + 10
|
||||
val i2: Int = intMaxValue - 1 + 2
|
||||
val i3: Int = intMaxValue - intMinValue
|
||||
val i4: Int = -intMinValue
|
||||
val i5: Int = intMinValue - 1
|
||||
val i6: Int = intMinValue - intMaxValue
|
||||
val i7: Int = intMinValue + intMaxValue
|
||||
val i8: Int = -intMaxValue
|
||||
val i10: Int = intMinValue * -1
|
||||
val i11: Int = intMinValue * 2
|
||||
val i12: Int = intMaxValue * -2
|
||||
val i13: Int = intMaxValue * -1
|
||||
val i15: Int = intMinValue / -1
|
||||
val l20: Int = 30 * 24 * 60 * 60 * 1000
|
||||
val l21: Int = intMinValue - intMinValue
|
||||
val l22: Int = intMinValue + -intMinValue
|
||||
val l23: Int = intMaxValue + -intMinValue
|
||||
val l24: Int = (-1).mod(5)
|
||||
val l25: Int = (-1).rem(5)
|
||||
val l26: Int = (-1) % 5
|
||||
}
|
||||
|
||||
class A {
|
||||
fun foo() {
|
||||
val a3: Int = intMaxValue + 1 - 10
|
||||
val a4: Int = intMaxValue + 1 + 10
|
||||
val i2: Int = intMaxValue - 1 + 2
|
||||
val i3: Int = intMaxValue - intMinValue
|
||||
val i4: Int = -intMinValue
|
||||
val i5: Int = intMinValue - 1
|
||||
val i6: Int = intMinValue - intMaxValue
|
||||
val i7: Int = intMinValue + intMaxValue
|
||||
val i8: Int = -intMaxValue
|
||||
val i10: Int = intMinValue * -1
|
||||
val i11: Int = intMinValue * 2
|
||||
val i12: Int = intMaxValue * -2
|
||||
val i13: Int = intMaxValue * -1
|
||||
val i15: Int = intMinValue / -1
|
||||
val l20: Int = 30 * 24 * 60 * 60 * 1000
|
||||
val l21: Int = intMinValue - intMinValue
|
||||
val l22: Int = intMinValue + -intMinValue
|
||||
val l23: Int = intMaxValue + -intMinValue
|
||||
val l24: Int = (-1).mod(5)
|
||||
val l25: Int = (-1).rem(5)
|
||||
val l26: Int = (-1) % 5
|
||||
}
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
// FILE: Test.java
|
||||
public class Test {
|
||||
public static int i1 = Integer.MAX_VALUE;
|
||||
public static final int i2 = Integer.MAX_VALUE;
|
||||
public final int i3 = Integer.MAX_VALUE;
|
||||
public int i4 = Integer.MAX_VALUE;
|
||||
}
|
||||
|
||||
|
||||
// FILE: A.kt
|
||||
val a1: Int = Test.i1 + 1
|
||||
val a2: Int = Test.i2 + 1
|
||||
val a3: Int = Test().i3 + 1
|
||||
val a4: Int = Test().i4 + 1
|
||||
@@ -0,0 +1,10 @@
|
||||
val a1: Int = 1L
|
||||
val a2: Int = 0x1L
|
||||
val a3: Int = 0X1L
|
||||
val a4: Int = 0b1L
|
||||
val a5: Int = 0B1L
|
||||
val a6: Long = 1L
|
||||
val a7: Long = 0x1L
|
||||
val a8: Long = 0X1L
|
||||
val a9: Long = 0b1L
|
||||
val a10: Long = 0B1L
|
||||
@@ -0,0 +1,8 @@
|
||||
fun bar() {
|
||||
false and false
|
||||
}
|
||||
|
||||
// See exception in KT-13421
|
||||
fun foo() {
|
||||
42 and false
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||
|
||||
val longMaxValue: Long = 0x7fffffffffffffff
|
||||
val longMinValue: Long = -longMaxValue - 1
|
||||
val intMaxValue: Int = 0x7fffffff
|
||||
val intMinValue: Int = 1 shl 31
|
||||
|
||||
val a2: Long = longMinValue - 10
|
||||
|
||||
val l1: Long = longMaxValue + 1
|
||||
val l2: Long = longMaxValue - 1 + 2
|
||||
val l3: Long = longMaxValue - longMinValue
|
||||
val l4: Long = -longMinValue
|
||||
val l5: Long = longMinValue - 1
|
||||
val l6: Long = 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 = longMinValue * intMinValue
|
||||
val l13: Long = longMinValue * -1
|
||||
val l14: Long = longMinValue * 2
|
||||
val l15: Long = longMaxValue * -2
|
||||
val l16: Long = intMinValue.toLong() * -1
|
||||
val l19: Long = longMinValue / -1
|
||||
|
||||
fun foo() {
|
||||
val l1: Long = longMaxValue + 1
|
||||
val l2: Long = longMaxValue - 1 + 2
|
||||
val l3: Long = longMaxValue - longMinValue
|
||||
val l4: Long = -longMinValue
|
||||
val l5: Long = longMinValue - 1
|
||||
val l6: Long = 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 = longMinValue * intMinValue
|
||||
val l13: Long = longMinValue * -1
|
||||
val l14: Long = longMinValue * 2
|
||||
val l15: Long = longMaxValue * -2
|
||||
val l16: Long = intMinValue.toLong() * -1
|
||||
val l19: Long = longMinValue / -1
|
||||
}
|
||||
|
||||
class A {
|
||||
fun foo() {
|
||||
val l1: Long = longMaxValue + 1
|
||||
val l2: Long = longMaxValue - 1 + 2
|
||||
val l3: Long = longMaxValue - longMinValue
|
||||
val l4: Long = -longMinValue
|
||||
val l5: Long = longMinValue - 1
|
||||
val l6: Long = 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 = longMinValue * intMinValue
|
||||
val l13: Long = longMinValue * -1
|
||||
val l14: Long = longMinValue * 2
|
||||
val l15: Long = longMaxValue * -2
|
||||
val l16: Long = intMinValue.toLong() * -1
|
||||
val l19: Long = longMinValue / -1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
val zero = 0
|
||||
|
||||
fun test() {
|
||||
-0
|
||||
-0L
|
||||
-0.0
|
||||
-(1 - 1)
|
||||
-zero
|
||||
|
||||
+0
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
fun fooInt(p: Int) = p
|
||||
fun fooLong(p: Long) = p
|
||||
fun fooByte(p: Byte) = p
|
||||
fun fooShort(p: Short) = p
|
||||
|
||||
fun test() {
|
||||
fooInt(1 + 1)
|
||||
fooByte(1 + 1)
|
||||
fooLong(1 + 1)
|
||||
fooShort(1 + 1)
|
||||
|
||||
fooInt(1 * 1)
|
||||
fooByte(1 * 1)
|
||||
fooLong(1 * 1)
|
||||
fooShort(1 * 1)
|
||||
|
||||
fooInt(1 / 1)
|
||||
fooByte(1 / 1)
|
||||
fooLong(1 / 1)
|
||||
fooShort(1 / 1)
|
||||
|
||||
fooInt(1 % 1)
|
||||
fooByte(1 % 1)
|
||||
fooLong(1 % 1)
|
||||
fooShort(1 % 1)
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
fun fooInt(p: Int) = p
|
||||
fun fooLong(p: Long) = p
|
||||
fun fooByte(p: Byte) = p
|
||||
fun fooShort(p: Short) = p
|
||||
|
||||
fun test() {
|
||||
fooInt(1.plus(1))
|
||||
fooByte(1.plus(1))
|
||||
fooLong(1.plus(1))
|
||||
fooShort(1.plus(1))
|
||||
|
||||
fooInt(1.times(1))
|
||||
fooByte(1.times(1))
|
||||
fooLong(1.times(1))
|
||||
fooShort(1.times(1))
|
||||
|
||||
fooInt(1.div(1))
|
||||
fooByte(1.div(1))
|
||||
fooLong(1.div(1))
|
||||
fooShort(1.div(1))
|
||||
|
||||
fooInt(1.mod(1))
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(1.mod(1))
|
||||
<!INAPPLICABLE_CANDIDATE!>fooLong<!>(1.mod(1))
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(1.mod(1))
|
||||
|
||||
fooInt(1.rem(1))
|
||||
fooByte(1.rem(1))
|
||||
fooLong(1.rem(1))
|
||||
fooShort(1.rem(1))
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
fun fooInt(p: Int) = p
|
||||
fun fooLong(p: Long) = p
|
||||
fun fooByte(p: Byte) = p
|
||||
fun fooShort(p: Short) = p
|
||||
|
||||
fun test() {
|
||||
fooInt(1 plus 1)
|
||||
fooByte(1 plus 1)
|
||||
fooLong(1 plus 1)
|
||||
fooShort(1 plus 1)
|
||||
|
||||
fooInt(1 times 1)
|
||||
fooByte(1 times 1)
|
||||
fooLong(1 times 1)
|
||||
fooShort(1 times 1)
|
||||
|
||||
fooInt(1 div 1)
|
||||
fooByte(1 div 1)
|
||||
fooLong(1 div 1)
|
||||
fooShort(1 div 1)
|
||||
|
||||
fooInt(1 mod 1)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(1 mod 1)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooLong<!>(1 mod 1)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(1 mod 1)
|
||||
|
||||
fooInt(1 rem 1)
|
||||
fooByte(1 rem 1)
|
||||
fooLong(1 rem 1)
|
||||
fooShort(1 rem 1)
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
val a1: Int = 32000.toShort() * 32000.toShort() * 32000.toShort()
|
||||
val a2: Int = 128.toByte() * 128.toByte() * 128.toByte() * 128.toByte() * 128.toByte()
|
||||
@@ -0,0 +1,12 @@
|
||||
val p1: Byte = (1 + 2) * 2
|
||||
val p2: Short = (1 + 2) * 2
|
||||
val p3: Int = (1 + 2) * 2
|
||||
val p4: Long = (1 + 2) * 2
|
||||
|
||||
val b1: Byte = (1.toByte() + 2) * 2
|
||||
val b2: Short = (1.toShort() + 2) * 2
|
||||
val b3: Int = (1.toInt() + 2) * 2
|
||||
val b4: Long = (1.toLong() + 2) * 2
|
||||
|
||||
val i1: Int = (1.toByte() + 2) * 2
|
||||
val i2: Int = (1.toShort() + 2) * 2
|
||||
@@ -0,0 +1,8 @@
|
||||
// FILE: a.kt
|
||||
package example.ns
|
||||
val y: Any? = 2
|
||||
|
||||
// FILE: b.kt
|
||||
package example
|
||||
|
||||
val x: Int = if (example.ns.y is Int) example.ns.y else 2
|
||||
@@ -0,0 +1,36 @@
|
||||
fun fooInt(p: Int) = p
|
||||
fun fooLong(p: Long) = p
|
||||
fun fooByte(p: Byte) = p
|
||||
fun fooShort(p: Short) = p
|
||||
|
||||
fun test() {
|
||||
fooInt(-1)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooInt<!>(-1111111111111111111)
|
||||
fooInt(-1.toInt())
|
||||
fooInt(-1.toByte())
|
||||
<!INAPPLICABLE_CANDIDATE!>fooInt<!>(-1.toLong())
|
||||
fooInt(-1.toShort())
|
||||
|
||||
fooByte(-1)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(-1111111111111111111)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(-1.toInt())
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(-1.toByte())
|
||||
fooByte((-1).toByte())
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(-1.toLong())
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(-1.toShort())
|
||||
|
||||
fooLong(-1)
|
||||
fooLong(-1111111111111111111)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooLong<!>(-1.toInt())
|
||||
<!INAPPLICABLE_CANDIDATE!>fooLong<!>(-1.toByte())
|
||||
fooLong(-1.toLong())
|
||||
<!INAPPLICABLE_CANDIDATE!>fooLong<!>(-1.toShort())
|
||||
|
||||
fooShort(-1)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(-1111111111111111111)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(-1.toInt())
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(-1.toByte())
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(-1.toLong())
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(-1.toShort())
|
||||
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)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooInt<!>(p2)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooInt<!>(p3)
|
||||
fooInt(p4)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooInt<!>(p5)
|
||||
fooInt(p6)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>fooLong<!>(p1)
|
||||
fooLong(p2)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooLong<!>(p3)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooLong<!>(p4)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooLong<!>(p5)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooLong<!>(p6)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(p1)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(p2)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(p3)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(p4)
|
||||
fooShort(p5)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooShort<!>(p6)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(p1)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(p2)
|
||||
fooByte(p3)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(p4)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(p5)
|
||||
<!INAPPLICABLE_CANDIDATE!>fooByte<!>(p6)
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
val p1: Int = -1
|
||||
val p2: Long = -1
|
||||
val p3: Byte = -1
|
||||
val p4: Short = -1
|
||||
|
||||
val lp1: Int = -1111111111111111111
|
||||
val lp2: Long = -1111111111111111111
|
||||
val lp3: Byte = -1111111111111111111
|
||||
val lp4: Short = -1111111111111111111
|
||||
|
||||
val l1: Long = -1.toLong()
|
||||
val l2: Byte = -1.toLong()
|
||||
val l3: Int = -1.toLong()
|
||||
val l4: Short = -1.toLong()
|
||||
|
||||
val b1: Byte = -1.toByte()
|
||||
val b2: Int = -1.toByte()
|
||||
val b3: Long = -1.toByte()
|
||||
val b4: Short = -1.toByte()
|
||||
|
||||
val i1: Byte = -1.toInt()
|
||||
val i2: Int = -1.toInt()
|
||||
val i3: Long = -1.toInt()
|
||||
val i4: Short = -1.toInt()
|
||||
|
||||
val s1: Byte = -1.toShort()
|
||||
val s2: Int = -1.toShort()
|
||||
val s3: Long = -1.toShort()
|
||||
val s4: Short = -1.toShort()
|
||||
@@ -0,0 +1,10 @@
|
||||
val a1: Int = 1l
|
||||
val a2: Int = 0x1l
|
||||
val a3: Int = 0X1l
|
||||
val a4: Int = 0b1l
|
||||
val a5: Int = 0B1l
|
||||
val a6: Long = 1l
|
||||
val a7: Long = 0x1l
|
||||
val a8: Long = 0X1l
|
||||
val a9: Long = 0b1l
|
||||
val a10: Long = 0B1l
|
||||
Reference in New Issue
Block a user