Do not insert returns before Nothing in "Replace return with 'if'"

So #KT-22159 Fixed
This commit is contained in:
Toshiaki Kameyama
2018-01-17 16:52:19 +03:00
committed by Mikhail Glukhikh
parent f28bec0db1
commit 3a81be6cfb
23 changed files with 269 additions and 11 deletions
@@ -0,0 +1,10 @@
fun test(b: Boolean): Int {
while (true) {
<caret>return if (b) {
1
} else {
break
}
}
return 0
}
@@ -0,0 +1,10 @@
fun test(b: Boolean): Int {
while (true) {
if (b) {
return 1
} else {
break
}
}
return 0
}
@@ -0,0 +1,12 @@
fun test(b: Boolean): Int {
var i = 0
while (i == 0) {
<caret>return if (b) {
1
} else {
i++
continue
}
}
return 0
}
@@ -0,0 +1,12 @@
fun test(b: Boolean): Int {
var i = 0
while (i == 0) {
if (b) {
return 1
} else {
i++
continue
}
}
return 0
}
@@ -0,0 +1,9 @@
fun test(b: Boolean): Int {
while (true) {
<caret>return if (b) {
1
} else {
return 0
}
}
}
@@ -0,0 +1,9 @@
fun test(b: Boolean): Int {
while (true) {
if (b) {
return 1
} else {
return 0
}
}
}
@@ -0,0 +1,8 @@
// WITH_RUNTIME
fun test(b: Boolean): Int {
<caret>return if (b) {
1
} else {
TODO()
}
}
@@ -0,0 +1,8 @@
// WITH_RUNTIME
fun test(b: Boolean): Int {
if (b) {
return 1
} else {
TODO()
}
}
@@ -0,0 +1,7 @@
fun test(b: Boolean): Int {
<caret>return if (b) {
throw AssertionError()
} else {
1
}
}
@@ -0,0 +1,7 @@
fun test(b: Boolean): Int {
if (b) {
throw AssertionError()
} else {
return 1
}
}
@@ -0,0 +1,9 @@
fun test(b: Boolean): Int {
loop@ while (true) {
<caret>return when (b) {
true -> 1
else -> break@loop
}
}
return 0
}
@@ -0,0 +1,9 @@
fun test(b: Boolean): Int {
loop@ while (true) {
when (b) {
true -> return 1
else -> break@loop
}
}
return 0
}
@@ -0,0 +1,13 @@
fun test(b: Boolean): Int {
var i = 0
loop@while (i == 0) {
<caret>return when (b) {
true -> 1
else -> {
i++
continue@loop
}
}
}
return 0
}
@@ -0,0 +1,13 @@
fun test(b: Boolean): Int {
var i = 0
loop@while (i == 0) {
when (b) {
true -> return 1
else -> {
i++
continue@loop
}
}
}
return 0
}
@@ -0,0 +1,8 @@
fun test(b: Boolean): Int {
while (true) {
<caret>return when (b) {
true -> 1
else -> return 0
}
}
}
@@ -0,0 +1,8 @@
fun test(b: Boolean): Int {
while (true) {
when (b) {
true -> return 1
else -> return 0
}
}
}
@@ -0,0 +1,7 @@
// WITH_RUNTIME
fun test(b: Boolean): Int {
<caret>return when (b) {
true -> 1
else -> TODO()
}
}
@@ -0,0 +1,7 @@
// WITH_RUNTIME
fun test(b: Boolean): Int {
when (b) {
true -> return 1
else -> TODO()
}
}
@@ -0,0 +1,6 @@
fun foo(b: Boolean): Int {
<caret>return when (b) {
true -> throw AssertionError()
else -> 1
}
}
@@ -0,0 +1,6 @@
fun foo(b: Boolean): Int {
when (b) {
true -> throw AssertionError()
else -> return 1
}
}