If expression to elvis now handles call chains #KT-14084 Fixed

This commit is contained in:
Mikhail Glukhikh
2016-10-10 16:24:03 +03:00
committed by Mikhail Glukhikh
parent 1cfb8f2aef
commit 2117b30b76
12 changed files with 146 additions and 39 deletions
@@ -0,0 +1,5 @@
class My(val x: Int)
fun foo(arg: Any?): Int {
return if (<caret>arg is My) arg.x else 42
}
@@ -0,0 +1,5 @@
class My(val x: Int)
fun foo(arg: Any?): Int {
return (arg as? My)?.x ?: 42
}
@@ -0,0 +1,5 @@
class My(val x: Int)
fun foo(arg: My?): Int {
return if (<caret>arg != null) arg.x else 42
}
@@ -0,0 +1,5 @@
class My(val x: Int)
fun foo(arg: My?): Int {
return arg?.x ?: 42
}
@@ -0,0 +1,9 @@
// WITH_RUNTIME
val nullableString: String? = "abc"
val foo = if (<caret>nullableString != null) {
nullableString.toUpperCase()
} else {
""
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
val nullableString: String? = "abc"
val foo = nullableString?.toUpperCase() ?: ""
@@ -0,0 +1,9 @@
// WITH_RUNTIME
val nullableString: String? = "abc"
val foo = if (<caret>nullableString != null) {
nullableString.toUpperCase().toLowerCase()
} else {
""
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
val nullableString: String? = "abc"
val foo = nullableString?.toUpperCase()?.toLowerCase() ?: ""