Fixing failed tests: do not report anything on casts that can never succeed
This commit is contained in:
@@ -29,7 +29,7 @@ fun test(<!UNUSED_PARAMETER!>l<!> : <!PLATFORM_CLASS_MAPPED_TO_KOTLIN!>java.util
|
||||
<!UNRESOLVED_REFERENCE!>List<!><Int>
|
||||
|
||||
|
||||
val <!UNUSED_VARIABLE!>o<!> = "sdf" <!CAST_NEVER_SUCCEEDS!>as<!> <!PLATFORM_CLASS_MAPPED_TO_KOTLIN!>Object<!>
|
||||
val <!UNUSED_VARIABLE!>o<!> = "sdf" as <!PLATFORM_CLASS_MAPPED_TO_KOTLIN!>Object<!>
|
||||
|
||||
try {
|
||||
// ...
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
|
||||
fun ff(c: MutableCollection<String>) = c <!CAST_NEVER_SUCCEEDS!>as<!> MutableList<Int>
|
||||
fun ff(c: MutableCollection<String>) = <!UNCHECKED_CAST!>c as MutableList<Int><!>
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ class MyProperty<R, T> {
|
||||
|
||||
public fun get(thisRef: R, desc: PropertyMetadata): T {
|
||||
println("get $thisRef ${desc.name}")
|
||||
return null <!CAST_NEVER_SUCCEEDS!>as<!> T
|
||||
return null as T
|
||||
}
|
||||
|
||||
public fun set(thisRef: R, desc: PropertyMetadata, value: T) {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
// For KT-3491
|
||||
|
||||
fun <T: Any?> test1(t: Any?): Any {
|
||||
return t as T ?: ""
|
||||
return <!UNCHECKED_CAST!>t as T<!> ?: ""
|
||||
}
|
||||
|
||||
fun <T: Any> test2(t: Any?): Any {
|
||||
return <!USELESS_ELVIS!>t as T<!> ?: ""
|
||||
return <!UNCHECKED_CAST, USELESS_ELVIS!>t as T<!> ?: ""
|
||||
}
|
||||
|
||||
fun <T: Any?> test3(t: Any?): Any {
|
||||
|
||||
@@ -6,6 +6,6 @@ open class AL {
|
||||
|
||||
trait ALE<T> : AL {
|
||||
fun getOrNull(index: Int, value: T) : T {
|
||||
return get(index) as? T ?: value
|
||||
}
|
||||
return <!UNCHECKED_CAST!>get(index) as? T<!> ?: value
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
// KT-398 Internal error when property initializes with function
|
||||
|
||||
class X<T>() {
|
||||
val check = { (a : Any) -> a is T }
|
||||
val check = { (a : Any) -> a is <!CANNOT_CHECK_FOR_ERASED!>T<!> }
|
||||
}
|
||||
|
||||
fun box() : String {
|
||||
if(X<String>().check(10)) return "fail"
|
||||
if(!X<String>().check("lala")) return "fail"
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
// KT-399 Type argument inference not implemented for CALL_EXPRESSION
|
||||
|
||||
fun <T> getSameTypeChecker(<!UNUSED_PARAMETER!>obj<!>: T) : Function1<Any,Boolean> {
|
||||
return { (a : Any) -> a is T }
|
||||
return { (a : Any) -> a is <!CANNOT_CHECK_FOR_ERASED!>T<!> }
|
||||
}
|
||||
|
||||
fun box() : String {
|
||||
if(getSameTypeChecker<String>("lala")(10)) return "fail"
|
||||
if(!getSameTypeChecker<String>("mama")("lala")) return "fail"
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
@@ -3,5 +3,5 @@
|
||||
class IdUnavailableException() : Exception() {}
|
||||
|
||||
fun <T : Any> T.getJavaClass() : Class<T> {
|
||||
return <!UNCHECKED_CAST!>((this <!CAST_NEVER_SUCCEEDS!>as<!> <!PLATFORM_CLASS_MAPPED_TO_KOTLIN!>Object<!>).getClass()) as Class<T><!> // Some error here, because of Exception() used above. ?!!!
|
||||
return <!UNCHECKED_CAST!>((this as <!PLATFORM_CLASS_MAPPED_TO_KOTLIN!>Object<!>).getClass()) as Class<T><!> // Some error here, because of Exception() used above. ?!!!
|
||||
}
|
||||
@@ -5,7 +5,7 @@ class TypeInfo<T>
|
||||
fun <T> typeinfo() : TypeInfo<T> = null <!CAST_NEVER_SUCCEEDS!>as<!> TypeInfo<T>
|
||||
|
||||
fun <T> TypeInfo<T>.getJavaClass() : java.lang.Class<T> {
|
||||
val t : <!PLATFORM_CLASS_MAPPED_TO_KOTLIN!>java.lang.Object<!> = this <!CAST_NEVER_SUCCEEDS!>as<!> <!PLATFORM_CLASS_MAPPED_TO_KOTLIN!>java.lang.Object<!>
|
||||
val t : <!PLATFORM_CLASS_MAPPED_TO_KOTLIN!>java.lang.Object<!> = this as <!PLATFORM_CLASS_MAPPED_TO_KOTLIN!>java.lang.Object<!>
|
||||
return <!UNCHECKED_CAST!>t.getClass() as java.lang.Class<T><!> // inferred type is Object but Serializable was expected
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user