Invert if: more correct handling of empty returns #KT-13444 Fixed

(cherry picked from commit be2adaf)
This commit is contained in:
Mikhail Glukhikh
2016-08-22 17:11:25 +03:00
committed by Mikhail Glukhikh
parent 25eefdb6ec
commit 605ac0b25e
12 changed files with 141 additions and 3 deletions
@@ -0,0 +1,7 @@
fun println(s: String) {}
fun foo(y: Boolean) {
<caret>if (!y) return
println("no1")
return
}
@@ -0,0 +1,7 @@
fun println(s: String) {}
fun foo(y: Boolean) {
if (y) {
println("no1")
}
}
@@ -0,0 +1,6 @@
var foo: Boolean = false
set(arg) {
<caret>if (field == arg) return
field = arg
return
}
@@ -0,0 +1,6 @@
var foo: Boolean = false
set(arg) {
if (field != arg) {
field = arg
}
}
@@ -0,0 +1,12 @@
inline fun call(f: () -> Unit) = f()
fun bar() {}
fun foo(arg: Boolean) {
call {
<caret>if (!arg) return@call
bar()
return
}
bar()
}
@@ -0,0 +1,14 @@
inline fun call(f: () -> Unit) = f()
fun bar() {}
fun foo(arg: Boolean) {
call {
if (arg) {
bar()
return
}
return@call
}
bar()
}
@@ -0,0 +1,12 @@
inline fun call(f: () -> Unit) = f()
fun bar() {}
fun foo(arg: Boolean) {
call {
<caret>if (!arg) return
bar()
return
}
bar()
}
@@ -0,0 +1,13 @@
inline fun call(f: () -> Unit) = f()
fun bar() {}
fun foo(arg: Boolean) {
call {
if (arg) {
bar()
}
return
}
bar()
}
@@ -0,0 +1,10 @@
fun println(s: String) {}
fun foo(x: Boolean, y: Boolean) {
if (x) {
<caret>if (!y) return
println("no1")
return
}
println("no2")
}
@@ -0,0 +1,11 @@
fun println(s: String) {}
fun foo(x: Boolean, y: Boolean) {
if (x) {
if (y) {
println("no1")
}
return
}
println("no2")
}