Add restrictions for "simplifiable call chain" inspection

Do not use on maps; do not suggest for lambdas with return inside
Related to KT-18274
This commit is contained in:
Mikhail Glukhikh
2017-06-27 14:47:31 +03:00
committed by Mikhail Glukhikh
parent 2f0159a7ab
commit fdca96634e
8 changed files with 74 additions and 3 deletions
@@ -0,0 +1,4 @@
// PROBLEM: none
// WITH_RUNTIME
val x = hashMapOf(1 to 2, 3 to 4).<caret>map { (key, value) -> key + value }.joinToString()
@@ -0,0 +1,4 @@
// PROBLEM: none
// WITH_RUNTIME
val x = mapOf(1 to 2, 3 to 4).<caret>map { (key, value) -> key + value }.joinToString()
@@ -0,0 +1,7 @@
// WITH_RUNTIME
val x = listOf(1, 2, 3).<caret>map {
val sb = StringBuilder()
sb.append(it).append(" + ").append(it)
sb
}.joinToString(prefix = "= ", separator = " + ")
@@ -0,0 +1,7 @@
// WITH_RUNTIME
val x = listOf(1, 2, 3).joinToString(prefix = "= ", separator = " + ") {
val sb = StringBuilder()
sb.append(it).append(" + ").append(it)
sb
}
@@ -0,0 +1,9 @@
// PROBLEM: none
// WITH_RUNTIME
fun test(args: List<Int>): String {
return args.<caret>map {
if (it == 0) return ""
"$it * $it"
}.joinToString(separator = " + ")
}