Add "Control flow with empty body" inspection

#KT-30970 Fixed
This commit is contained in:
Toshiaki Kameyama
2019-04-16 15:03:35 +09:00
committed by Dmitry Gridin
parent d2fcb8cc6a
commit 65f06454be
45 changed files with 710 additions and 1 deletions
@@ -0,0 +1 @@
org.jetbrains.kotlin.idea.inspections.ControlFlowWithEmptyBodyInspection
@@ -0,0 +1,8 @@
// PROBLEM: 'also' has empty body
// FIX: none
// WITH_RUNTIME
fun test() {
42.<caret>also(fun(it: Int) {
})
}
@@ -0,0 +1,9 @@
// PROBLEM: none
// FIX: none
// WITH_RUNTIME
fun test() {
42.<caret>also(fun(it: Int) {
println(it)
})
}
@@ -0,0 +1,8 @@
// PROBLEM: 'also' has empty body
// FIX: none
// WITH_RUNTIME
fun test(i: Int) {
i.<caret>also {
}
}
@@ -0,0 +1,7 @@
// PROBLEM: 'also' has empty body
// FIX: none
// WITH_RUNTIME
fun test() {
42.<caret>also({ })
}
@@ -0,0 +1,9 @@
// PROBLEM: 'also' has empty body
// FIX: none
// WITH_RUNTIME
fun test(i: Int) {
i.<caret>also {
// comment
}
}
@@ -0,0 +1,10 @@
// PROBLEM: none
// WITH_RUNTIME
fun test(i: Int) {
i.<caret>also {
foo()
}
}
fun foo() {}
@@ -0,0 +1,6 @@
// PROBLEM: none
// WITH_RUNTIME
fun test() {
42.<caret>also({ println(it) })
}
@@ -0,0 +1,6 @@
// PROBLEM: none
// WITH_RUNTIME
fun test() {
42.<caret>also(::println)
}
@@ -0,0 +1,7 @@
// PROBLEM: 'also' has empty body
// FIX: none
// WITH_RUNTIME
fun String.test() {
<caret>also { }
}
@@ -0,0 +1,7 @@
// PROBLEM: 'do while' has empty body
// FIX: none
fun test(i: Int) {
<caret>do {
} while (i == 1)
}
@@ -0,0 +1,8 @@
// PROBLEM: 'do while' has empty body
// FIX: none
fun test(i: Int) {
<caret>do {
// comment
} while (i == 1)
}
@@ -0,0 +1,9 @@
// PROBLEM: none
fun test(i: Int) {
<caret>do {
foo()
} while (i == 1)
}
fun foo() {}
@@ -0,0 +1,6 @@
// PROBLEM: 'do while' has empty body
// FIX: none
fun test(i: Int) {
<caret>do while (i == 1)
}
@@ -0,0 +1,7 @@
// PROBLEM: none
fun test(i: Int) {
<caret>do foo() while (i == 1)
}
fun foo() {}
@@ -0,0 +1,7 @@
// PROBLEM: 'for' has empty body
// FIX: none
fun test() {
<caret>for (i in 1..10) {
}
}
@@ -0,0 +1,8 @@
// PROBLEM: 'for' has empty body
// FIX: none
fun test() {
<caret>for (i in 1..10) {
// comment
}
}
@@ -0,0 +1,9 @@
// PROBLEM: none
fun test() {
<caret>for (i in 1..10) {
foo()
}
}
fun foo() {}
@@ -0,0 +1,6 @@
// PROBLEM: 'for' has empty body
// FIX: none
fun test() {
<caret>for (i in 1..10);
}
@@ -0,0 +1,7 @@
// PROBLEM: none
fun test() {
<caret>for (i in 1..10) foo()
}
fun foo() {}
@@ -0,0 +1,7 @@
// PROBLEM: 'if' has empty body
// FIX: none
fun test(i: Int) {
<caret>if (i == 1) {
}
}
@@ -0,0 +1,8 @@
// PROBLEM: 'if' has empty body
// FIX: none
fun test(i: Int) {
<caret>if (i == 1) {
// comment
}
}
@@ -0,0 +1,10 @@
// PROBLEM: 'if' has empty body
// FIX: none
fun test(i: Int) {
<caret>if (i == 1) {
} else if (i == 2) {
} else if (i == 3) {
} else {
}
}
@@ -0,0 +1,9 @@
// PROBLEM: none
fun test(i: Int) {
<caret>if (i == 1) {
foo()
}
}
fun foo() {}
@@ -0,0 +1,8 @@
// PROBLEM: 'if' has empty body
// FIX: none
fun test(i: Int) {
if (i == 1) {
} else <caret>if (i == 2) {
}
}
@@ -0,0 +1,7 @@
// PROBLEM: 'if' has empty body
// FIX: none
fun test(i: Int) {
<caret>if (i == 1) else {
}
}
@@ -0,0 +1,8 @@
// PROBLEM: none
fun test(i: Int) {
<caret>if (i == 1) foo() else {
}
}
fun foo() {}
@@ -0,0 +1,8 @@
// PROBLEM: 'else' has empty body
// FIX: none
fun test(i: Int) {
if (i == 1) {
} <caret>else {
}
}
@@ -0,0 +1,9 @@
// PROBLEM: 'else' has empty body
// FIX: none
fun test(i: Int) {
if (i == 1) {
} <caret>else {
// comment
}
}
@@ -0,0 +1,10 @@
// PROBLEM: none
fun test(i: Int) {
if (i == 1) {
} <caret>else {
foo()
}
}
fun foo() {}
@@ -0,0 +1,6 @@
// PROBLEM: 'else' has empty body
// FIX: none
fun test(i: Int) {
if (i == 1) {}<caret>else {};
}
@@ -0,0 +1,8 @@
// PROBLEM: none
fun test(i: Int) {
if (i == 1) {
} <caret>else foo()
}
fun foo() {}
@@ -0,0 +1,7 @@
// PROBLEM: 'when' has empty body
// FIX: none
fun test(i: Int) {
<caret>when (i) {
}
}
@@ -0,0 +1,7 @@
// PROBLEM: 'when' has empty body
// FIX: none
fun test() {
<caret>when (val i = 1) {
}
}
@@ -0,0 +1,8 @@
// PROBLEM: 'when' has empty body
// FIX: none
fun test(i: Int) {
<caret>when (i) {
// comment
}
}
@@ -0,0 +1,7 @@
// PROBLEM: none
fun test(i: Int) {
<caret>when (i) {
else -> {}
}
}
@@ -0,0 +1,7 @@
// PROBLEM: 'while' has empty body
// FIX: none
fun test(i: Int) {
<caret>while (i == 1) {
}
}
@@ -0,0 +1,8 @@
// PROBLEM: 'while' has empty body
// FIX: none
fun test(i: Int) {
<caret>while (i == 1) {
// comment
}
}
@@ -0,0 +1,9 @@
// PROBLEM: none
fun test(i: Int) {
<caret>while (i == 1) {
foo()
}
}
fun foo() {}
@@ -0,0 +1,6 @@
// PROBLEM: 'while' has empty body
// FIX: none
fun test(i: Int) {
<caret>while (i == 1);
}
@@ -0,0 +1,7 @@
// PROBLEM: none
fun test(i: Int) {
<caret>while (i == 1) foo()
}
fun foo() {}