Convert "lift return / assignment" intentions into a single inspection
Also includes minor test fix, related to KT-14900
This commit is contained in:
committed by
Mikhail Glukhikh
parent
8f33bd0768
commit
2d1abda9a1
@@ -0,0 +1 @@
|
||||
org.jetbrains.kotlin.idea.inspections.LiftReturnOrAssignmentInspection
|
||||
@@ -0,0 +1,16 @@
|
||||
// WITH_RUNTIME
|
||||
fun test(x: Any) {
|
||||
var res: String
|
||||
<caret>when (x) {
|
||||
is String ->
|
||||
if (x.length > 3) res = "long string"
|
||||
else res = "short string"
|
||||
is Int ->
|
||||
if (x > 999 || x < -99) res = "long int"
|
||||
else res = "short int"
|
||||
is Long ->
|
||||
TODO()
|
||||
else ->
|
||||
res = "I don't know"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
// WITH_RUNTIME
|
||||
fun test(x: Any) {
|
||||
var res: String
|
||||
<caret>res = when (x) {
|
||||
is String ->
|
||||
if (x.length > 3) "long string"
|
||||
else "short string"
|
||||
is Int ->
|
||||
if (x > 999 || x < -99) "long int"
|
||||
else "short int"
|
||||
is Long ->
|
||||
TODO()
|
||||
else ->
|
||||
"I don't know"
|
||||
}
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
fun <T> doSomething(a: T) {}
|
||||
|
||||
fun test(n: Int): String {
|
||||
var res: String
|
||||
|
||||
if (3 > 2) {
|
||||
<caret>when (n) {
|
||||
1 -> {
|
||||
doSomething("***")
|
||||
res = "one"
|
||||
}
|
||||
else -> {
|
||||
doSomething("***")
|
||||
res = "two"
|
||||
}
|
||||
}
|
||||
} else {
|
||||
doSomething("***")
|
||||
res = "???"
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
fun <T> doSomething(a: T) {}
|
||||
|
||||
fun test(n: Int): String {
|
||||
var res: String
|
||||
|
||||
if (3 > 2) {
|
||||
<caret>res = when (n) {
|
||||
1 -> {
|
||||
doSomething("***")
|
||||
"one"
|
||||
}
|
||||
else -> {
|
||||
doSomething("***")
|
||||
"two"
|
||||
}
|
||||
}
|
||||
} else {
|
||||
doSomething("***")
|
||||
res = "???"
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
fun foo(): Int {
|
||||
var res = 0
|
||||
loop@ while (true) {
|
||||
<caret>when (1) {
|
||||
1 -> res += 1
|
||||
2 -> throw Exception()
|
||||
3 -> break@loop
|
||||
4 -> continue@loop
|
||||
else -> return -1
|
||||
}
|
||||
}
|
||||
return res
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
fun foo(): Int {
|
||||
var res = 0
|
||||
loop@ while (true) {
|
||||
res += when (1) {
|
||||
1 -> 1
|
||||
2 -> throw Exception()
|
||||
3 -> break@loop
|
||||
4 -> continue@loop
|
||||
else -> return -1
|
||||
}
|
||||
}
|
||||
return res
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
fun test(n: Int): String {
|
||||
var res: String
|
||||
|
||||
<caret>when (n) {
|
||||
1 -> res = "one"
|
||||
else -> res = "two"
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
fun test(n: Int): String {
|
||||
var res: String
|
||||
|
||||
<caret>res = when (n) {
|
||||
1 -> "one"
|
||||
else -> "two"
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
fun <T> doSomething(a: T) {}
|
||||
|
||||
fun test(n: Int): String {
|
||||
var res: String
|
||||
|
||||
<caret>when (n) {
|
||||
1 -> {
|
||||
doSomething("***")
|
||||
res = "one"
|
||||
}
|
||||
else -> {
|
||||
doSomething("***")
|
||||
res = "two"
|
||||
}
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
fun <T> doSomething(a: T) {}
|
||||
|
||||
fun test(n: Int): String {
|
||||
var res: String
|
||||
|
||||
<caret>res = when (n) {
|
||||
1 -> {
|
||||
doSomething("***")
|
||||
"one"
|
||||
}
|
||||
else -> {
|
||||
doSomething("***")
|
||||
"two"
|
||||
}
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
// PROBLEM: none
|
||||
fun <T> doSomething(a: T) {}
|
||||
|
||||
fun test(n: Int): String {
|
||||
var res: String = ""
|
||||
|
||||
<caret>when (n) {
|
||||
1 -> {
|
||||
doSomething("***")
|
||||
res = "one"
|
||||
}
|
||||
else -> {
|
||||
var res: String
|
||||
|
||||
res = "two"
|
||||
doSomething("***")
|
||||
}
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
Vendored
+20
@@ -0,0 +1,20 @@
|
||||
// PROBLEM: none
|
||||
fun <T> doSomething(a: T) {}
|
||||
|
||||
fun test(n: Int): String {
|
||||
var res: String = ""
|
||||
var res2: String = ""
|
||||
|
||||
<caret>when (n) {
|
||||
1 -> {
|
||||
doSomething("***")
|
||||
res = "one"
|
||||
}
|
||||
else -> {
|
||||
doSomething("***")
|
||||
res2 = "two"
|
||||
}
|
||||
}
|
||||
|
||||
return res + res2
|
||||
}
|
||||
Vendored
+19
@@ -0,0 +1,19 @@
|
||||
// PROBLEM: none
|
||||
fun <T> doSomething(a: T) {}
|
||||
|
||||
fun test(n: Int): String {
|
||||
var res: String
|
||||
|
||||
<caret>when (n) {
|
||||
1 -> {
|
||||
doSomething("***")
|
||||
res = "one"
|
||||
}
|
||||
else -> {
|
||||
res = "two"
|
||||
doSomething("***")
|
||||
}
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
Reference in New Issue
Block a user