Fix false warning about useless cast in property and property accessor

Note that there are some other problems, for example:
`val a = if (true) 1 as Number else 2`, here we'll get useless cast

 #KT-9551 Fixed
 #KT-9645 Fixed
This commit is contained in:
Mikhail Zarechenskiy
2017-04-05 04:59:16 +03:00
parent 12db3a263e
commit 13eddba1f2
7 changed files with 36 additions and 3 deletions
@@ -0,0 +1,17 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE
fun test() {
val a = 1 as Any?
val b: Number = 1 <!USELESS_CAST!>as Number<!>
val c = null as String?
val d: Number = 1 <!USELESS_CAST!>as Int<!>
}
val c1 get() = 1 as Number
val c2: Number get() = 1 <!USELESS_CAST!>as Number<!>
val d: Number
get() {
1 <!USELESS_CAST!>as Number<!>
return 1 <!USELESS_CAST!>as Number<!>
}