deprecating types after colon
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
// !CHECK_TYPE
|
||||
|
||||
fun main(args : Array<String>) {
|
||||
val a : Int? = null
|
||||
val b : Int? = null
|
||||
a!! : Int
|
||||
checkSubtype<Int>(a!!)
|
||||
a<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!> + 2
|
||||
a<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>.plus(2)
|
||||
a<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>.plus(b!!)
|
||||
@@ -32,5 +34,5 @@ fun main(args : Array<String>) {
|
||||
}
|
||||
|
||||
val <!UNUSED_VARIABLE!>f<!> : String = <!TYPE_MISMATCH!>a<!><!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>
|
||||
<!TYPE_MISMATCH!>a<!><!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!> : String
|
||||
checkSubtype<String>(<!TYPE_MISMATCH!>a<!><!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>)
|
||||
}
|
||||
@@ -1,8 +1,9 @@
|
||||
// !CHECK_TYPE
|
||||
//KT-1778 Automatically cast error
|
||||
package kt1778
|
||||
|
||||
fun main(args : Array<String>) {
|
||||
val x = args[0]: Any
|
||||
val x = checkSubtype<Any>(args[0])
|
||||
if(x is <!PLATFORM_CLASS_MAPPED_TO_KOTLIN!>java.lang.CharSequence<!>) {
|
||||
if ("a" == x) <!DEBUG_INFO_SMARTCAST!>x<!>.length() else <!DEBUG_INFO_SMARTCAST!>x<!>.length() // OK
|
||||
if ("a" == x || "b" == x) <!DEBUG_INFO_SMARTCAST!>x<!>.length() else <!DEBUG_INFO_SMARTCAST!>x<!>.length() // <– THEN ERROR
|
||||
|
||||
@@ -1,27 +1,29 @@
|
||||
// !CHECK_TYPE
|
||||
|
||||
//KT-2176 non-nullability is not inferred after !! or "as"
|
||||
package kt2176
|
||||
|
||||
fun f1(a: String?) {
|
||||
a!!
|
||||
<!DEBUG_INFO_SMARTCAST!>a<!>: String
|
||||
checkSubtype<String>(<!DEBUG_INFO_SMARTCAST!>a<!>)
|
||||
}
|
||||
|
||||
fun f2(a: String) {
|
||||
a<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>
|
||||
a: String
|
||||
checkSubtype<String>(a)
|
||||
}
|
||||
|
||||
fun f3(a: Any?) {
|
||||
a as String
|
||||
<!DEBUG_INFO_SMARTCAST!>a<!>: String
|
||||
checkSubtype<String>(<!DEBUG_INFO_SMARTCAST!>a<!>)
|
||||
}
|
||||
|
||||
fun f4(a: Any) {
|
||||
a as String
|
||||
<!DEBUG_INFO_SMARTCAST!>a<!>: String
|
||||
checkSubtype<String>(<!DEBUG_INFO_SMARTCAST!>a<!>)
|
||||
}
|
||||
|
||||
fun f5(a: String) {
|
||||
a <!USELESS_CAST_STATIC_ASSERT_IS_FINE!>as Any?<!>
|
||||
a: String
|
||||
a <!USELESS_CAST!>as Any?<!>
|
||||
checkSubtype<String>(a)
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// !CHECK_TYPE
|
||||
|
||||
package a
|
||||
|
||||
//KT-2234 'period!!' has type Int?
|
||||
@@ -7,15 +9,15 @@ class Pair<A, B>(val a: A, val b: B)
|
||||
fun main(args : Array<String>) {
|
||||
val d : Long = 1
|
||||
val period : Int? = null
|
||||
if (period != null) Pair(d, period<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!> : Int) else Pair(d, 1)
|
||||
if (period != null) Pair(d, <!DEBUG_INFO_SMARTCAST!>period<!> : Int) else Pair(d, 1)
|
||||
if (period != null) Pair(d, checkSubtype<Int>(period<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>)) else Pair(d, 1)
|
||||
if (period != null) Pair(d, checkSubtype<Int>(<!DEBUG_INFO_SMARTCAST!>period<!>)) else Pair(d, 1)
|
||||
}
|
||||
|
||||
fun foo() {
|
||||
val x : Int? = 3
|
||||
if (x != null) {
|
||||
val <!UNUSED_VARIABLE!>u<!> = x<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!> : Int
|
||||
val y = <!DEBUG_INFO_SMARTCAST!>x<!> : Int
|
||||
val <!UNUSED_VARIABLE!>u<!> = checkSubtype<Int>(x<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>)
|
||||
val y = checkSubtype<Int>(<!DEBUG_INFO_SMARTCAST!>x<!>)
|
||||
val <!UNUSED_VARIABLE!>z<!> : Int = y
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user