Refactoring: "introduce when subject" is now an inspection
This commit is contained in:
@@ -0,0 +1 @@
|
||||
org.jetbrains.kotlin.idea.inspections.branchedTransformations.IntroduceWhenSubjectInspection
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
class Klass<T>
|
||||
|
||||
fun test(obj: Any): String {
|
||||
return <caret>when {
|
||||
obj is String -> "string" // return "string"
|
||||
|
||||
// it's an Int
|
||||
obj is Int -> "int"
|
||||
|
||||
// otherwise
|
||||
else -> "unknown"
|
||||
}
|
||||
}
|
||||
Vendored
+13
@@ -0,0 +1,13 @@
|
||||
class Klass<T>
|
||||
|
||||
fun test(obj: Any): String {
|
||||
return when (obj) {
|
||||
is String -> "string" // return "string"
|
||||
|
||||
// it's an Int
|
||||
is Int -> "int"
|
||||
|
||||
// otherwise
|
||||
else -> "unknown"
|
||||
}
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fun test(n: Int): String {
|
||||
return <caret>when {
|
||||
n == 0 -> "zero"
|
||||
n == 1 -> "one"
|
||||
n == 2 -> "two"
|
||||
else -> "unknown"
|
||||
}
|
||||
}
|
||||
Vendored
+8
@@ -0,0 +1,8 @@
|
||||
fun test(n: Int): String {
|
||||
return <caret>when (n) {
|
||||
0 -> "zero"
|
||||
1 -> "one"
|
||||
2 -> "two"
|
||||
else -> "unknown"
|
||||
}
|
||||
}
|
||||
Vendored
+13
@@ -0,0 +1,13 @@
|
||||
fun test(n: Int): String {
|
||||
return <caret>when {
|
||||
n !is Int -> "???"
|
||||
n in 0..10 -> "small"
|
||||
n in 10..100 -> "average"
|
||||
n in 100..1000 -> "big"
|
||||
n == 1000000 -> "million"
|
||||
2000000 == n -> "two millions"
|
||||
n !in -100..-10 -> "good"
|
||||
n is Int -> "unknown"
|
||||
else -> "unknown"
|
||||
}
|
||||
}
|
||||
idea/testData/inspectionsLocal/branched/introduceWhenSubject/whenWithMultipleConditionTypes.kt.after
Vendored
+13
@@ -0,0 +1,13 @@
|
||||
fun test(n: Int): String {
|
||||
return <caret>when (n) {
|
||||
!is Int -> "???"
|
||||
in 0..10 -> "small"
|
||||
in 10..100 -> "average"
|
||||
in 100..1000 -> "big"
|
||||
1000000 -> "million"
|
||||
2000000 -> "two millions"
|
||||
!in -100..-10 -> "good"
|
||||
is Int -> "unknown"
|
||||
else -> "unknown"
|
||||
}
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fun test(obj: Any): String {
|
||||
return <caret>when {
|
||||
obj !is Iterable<*> -> "not iterable"
|
||||
obj !is Collection<*> -> "not collection"
|
||||
obj !is MutableCollection<*> -> "not mutable collection"
|
||||
else -> "unknown"
|
||||
}
|
||||
}
|
||||
Vendored
+8
@@ -0,0 +1,8 @@
|
||||
fun test(obj: Any): String {
|
||||
return <caret>when (obj) {
|
||||
!is Iterable<*> -> "not iterable"
|
||||
!is Collection<*> -> "not collection"
|
||||
!is MutableCollection<*> -> "not mutable collection"
|
||||
else -> "unknown"
|
||||
}
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fun test(n: Int): String {
|
||||
return <caret>when {
|
||||
n !in 0..1000 -> "unknown"
|
||||
n !in 0..100 -> "big"
|
||||
n !in 0..10 -> "average"
|
||||
else -> "small"
|
||||
}
|
||||
}
|
||||
Vendored
+8
@@ -0,0 +1,8 @@
|
||||
fun test(n: Int): String {
|
||||
return <caret>when (n) {
|
||||
!in 0..1000 -> "unknown"
|
||||
!in 0..100 -> "big"
|
||||
!in 0..10 -> "average"
|
||||
else -> "small"
|
||||
}
|
||||
}
|
||||
Vendored
+9
@@ -0,0 +1,9 @@
|
||||
// PROBLEM: none
|
||||
fun test(n: Int): String {
|
||||
return <caret>when {
|
||||
n in 0..10 -> "small"
|
||||
n >= 10 && n <= 100 -> "average"
|
||||
n < 0 || n > 1000 -> "unknown"
|
||||
else -> "big"
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
class Klass<T>
|
||||
|
||||
fun test(obj: Any): String {
|
||||
return <caret>when {
|
||||
obj is String -> "string"
|
||||
obj is Int -> "int"
|
||||
obj is Klass<*> -> "class"
|
||||
else -> "unknown"
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
class Klass<T>
|
||||
|
||||
fun test(obj: Any): String {
|
||||
return <caret>when (obj) {
|
||||
is String -> "string"
|
||||
is Int -> "int"
|
||||
is Klass<*> -> "class"
|
||||
else -> "unknown"
|
||||
}
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fun test(n: Int): String {
|
||||
return <caret>when {
|
||||
n in 0..10 -> "small"
|
||||
n in 10..100 -> "average"
|
||||
n in 100..1000 -> "big"
|
||||
else -> "unknown"
|
||||
}
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fun test(n: Int): String {
|
||||
return <caret>when (n) {
|
||||
in 0..10 -> "small"
|
||||
in 10..100 -> "average"
|
||||
in 100..1000 -> "big"
|
||||
else -> "unknown"
|
||||
}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
// PROBLEM: none
|
||||
fun test(n: Int): String {
|
||||
return <caret>when(n) {
|
||||
in 0..10 -> "small"
|
||||
in 10..100 -> "average"
|
||||
in 100..1000 -> "big"
|
||||
else -> "unknown"
|
||||
}
|
||||
}
|
||||
Vendored
+8
@@ -0,0 +1,8 @@
|
||||
fun test(n: Int): String {
|
||||
return <caret>when {
|
||||
n == 0 -> "zero"
|
||||
1 == n -> "one"
|
||||
n == 2 -> "two"
|
||||
else -> "unknown"
|
||||
}
|
||||
}
|
||||
Vendored
+8
@@ -0,0 +1,8 @@
|
||||
fun test(n: Int): String {
|
||||
return <caret>when (n) {
|
||||
0 -> "zero"
|
||||
1 -> "one"
|
||||
2 -> "two"
|
||||
else -> "unknown"
|
||||
}
|
||||
}
|
||||
Vendored
+9
@@ -0,0 +1,9 @@
|
||||
// PROBLEM: none
|
||||
fun test(n: Int): String {
|
||||
return <caret>when {
|
||||
n in 0..10 -> "n is small"
|
||||
n/10 in 0..10 -> "m is average"
|
||||
n/100 in 0..10 -> "n is big"
|
||||
else -> "unknown"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user