RedundantUnitExpressionInspection: support lambdas
#KT-39772 Fixed
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
// PROBLEM: none
|
||||
fun test(b: Boolean): Unit = if (b) {
|
||||
fun a() = 1
|
||||
<caret>Unit
|
||||
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
fun test(b: Boolean): Unit = if (b) {
|
||||
fun a() = 1
|
||||
} else {
|
||||
}
|
||||
-1
@@ -1,4 +1,3 @@
|
||||
// PROBLEM: none
|
||||
fun test(b: Boolean): Unit = when (b) {
|
||||
true -> {
|
||||
fun a() {}
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
fun test(b: Boolean): Unit = when (b) {
|
||||
true -> {
|
||||
fun a() {}
|
||||
}
|
||||
else -> {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
// PROBLEM: none
|
||||
// WITH_RUNTIME
|
||||
fun nonUnit(p: Int): Int = p
|
||||
|
||||
fun <T> doIt(p: () -> T): T = TODO()
|
||||
|
||||
fun g(p: String?) {
|
||||
println(1)
|
||||
nonUnit(2)
|
||||
|
||||
p?.let {
|
||||
println(3)
|
||||
nonUnit(4)
|
||||
Unit<caret>
|
||||
}
|
||||
}
|
||||
|
||||
fun h() {
|
||||
println(5)
|
||||
nonUnit(6)
|
||||
}
|
||||
|
||||
fun x() = doIt {
|
||||
println(7)
|
||||
nonUnit(8)
|
||||
Unit
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
// PROBLEM: none
|
||||
// WITH_RUNTIME
|
||||
fun nonUnit(p: Int): Int = p
|
||||
|
||||
fun <T> doIt(p: () -> T): T = TODO()
|
||||
|
||||
fun g(p: String?) {
|
||||
println(1)
|
||||
nonUnit(2)
|
||||
|
||||
p?.let {
|
||||
println(3)
|
||||
nonUnit(4)
|
||||
Unit
|
||||
}
|
||||
}
|
||||
|
||||
fun h() {
|
||||
println(5)
|
||||
nonUnit(6)
|
||||
}
|
||||
|
||||
fun x() = doIt {
|
||||
println(7)
|
||||
nonUnit(8)
|
||||
Unit<caret>
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
// PROBLEM: none
|
||||
|
||||
fun <T> doIt(p: () -> T): T = p()
|
||||
fun Any.doDo() = Unit
|
||||
|
||||
abstract class A {
|
||||
abstract fun a()
|
||||
}
|
||||
|
||||
class B : A() {
|
||||
override fun a() = doIt {
|
||||
null?.doDo()
|
||||
Unit<caret>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
// PROBLEM: none
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun <T> doIt(p: () -> T): T = p()
|
||||
fun Any.doDo() = Unit
|
||||
|
||||
abstract class A {
|
||||
abstract fun a()
|
||||
}
|
||||
|
||||
class B : A() {
|
||||
override fun a() = doIt {
|
||||
1.let { it.let { it.let { it.let { null?.doDo() } } } }
|
||||
Unit<caret>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun <T> doIt(p: () -> T): T = TODO()
|
||||
|
||||
fun g(p: String?) {
|
||||
|
||||
p?.let { Unit<caret> }
|
||||
}
|
||||
|
||||
fun h() = Unit
|
||||
|
||||
fun x() = doIt { Unit }
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun <T> doIt(p: () -> T): T = TODO()
|
||||
|
||||
fun g(p: String?) {
|
||||
|
||||
p?.let { <caret>}
|
||||
}
|
||||
|
||||
fun h() = Unit
|
||||
|
||||
fun x() = doIt { Unit }
|
||||
@@ -0,0 +1,12 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun <T> doIt(p: () -> T): T = TODO()
|
||||
|
||||
fun g(p: String?) {
|
||||
|
||||
p?.let { Unit }
|
||||
}
|
||||
|
||||
fun h() = Unit
|
||||
|
||||
fun x() = doIt { Unit<caret> }
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun <T> doIt(p: () -> T): T = TODO()
|
||||
|
||||
fun g(p: String?) {
|
||||
|
||||
p?.let { Unit }
|
||||
}
|
||||
|
||||
fun h() = Unit
|
||||
|
||||
fun x() = doIt { <caret>}
|
||||
@@ -0,0 +1,9 @@
|
||||
// WITH_RUNTIME
|
||||
// PROBLEM: none
|
||||
// not yet supported
|
||||
fun <T> doIt(p: () -> T): T = TODO()
|
||||
|
||||
fun x() = doIt<Unit> {
|
||||
4
|
||||
Unit<caret>
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
// WITH_RUNTIME
|
||||
fun <T> doIt(p: () -> T): T = p()
|
||||
fun Any.doDo() = Unit
|
||||
|
||||
abstract class A {
|
||||
abstract fun a()
|
||||
}
|
||||
|
||||
class B : A() {
|
||||
override fun a() = doIt {
|
||||
1.let { it.let { it.let { it.let { it.doDo() } } } }
|
||||
Unit<caret>
|
||||
}
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
// WITH_RUNTIME
|
||||
fun <T> doIt(p: () -> T): T = p()
|
||||
fun Any.doDo() = Unit
|
||||
|
||||
abstract class A {
|
||||
abstract fun a()
|
||||
}
|
||||
|
||||
class B : A() {
|
||||
override fun a() = doIt {
|
||||
1.let { it.let { it.let { it.let { it.doDo() } } } }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
// WITH_RUNTIME
|
||||
fun <T> doIt(p: () -> T): T = p()
|
||||
fun Any.doDo() = Unit
|
||||
|
||||
abstract class A {
|
||||
abstract fun a()
|
||||
}
|
||||
|
||||
class B : A() {
|
||||
override fun a() = doIt {
|
||||
1.let { it.let { it.let { it.let { it?.doDo() } } } }
|
||||
Unit<caret>
|
||||
}
|
||||
}
|
||||
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
// WITH_RUNTIME
|
||||
fun <T> doIt(p: () -> T): T = p()
|
||||
fun Any.doDo() = Unit
|
||||
|
||||
abstract class A {
|
||||
abstract fun a()
|
||||
}
|
||||
|
||||
class B : A() {
|
||||
override fun a() = doIt {
|
||||
1.let { it.let { it.let { it.let { it?.doDo() } } } }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user