introduceValue() always adds statement before except for safe call case

This commit is contained in:
Valentin Kipyatkov
2016-10-23 01:36:36 +03:00
parent 8f9f2027f2
commit 330d3a255a
15 changed files with 163 additions and 53 deletions
@@ -8,7 +8,8 @@ fun oldFun(p: Int): Int {
fun newFun(): Int = 0
fun foo(): Int {
return bar().let { newFun() }
bar()
return newFun()
}
fun bar(): Int = 0
@@ -7,6 +7,9 @@ fun oldFun(p: Int?): Int {
fun newFun(): Int = 0
fun foo(): Int = bar().<caret>let { newFun() }
fun foo(): Int {
bar()
<caret>return newFun()
}
fun bar(): Int? = 0
@@ -8,7 +8,10 @@ fun oldFun(p1: Int, p2: Int): Boolean {
fun newFun(p: Int) = false
fun foo(list: List<Int>) {
list.filter { !bar().let { p1 -> newFun(it) } }
list.filter {
bar()
!newFun(it)
}
}
fun bar(): Int = 0
@@ -9,5 +9,6 @@ fun newFun(p1: Int, p2: Int): Int = 0
fun foo(): Int {
var v = 0
return v++.let { newFun(it, it) }
val p = v++
return newFun(p, p)
}
@@ -8,7 +8,8 @@ fun oldFun(p: Int?): Int {
fun newFun(p1: Int?, p2: Int?): Int = 0
fun foo(): Int {
return bar().let { newFun(it, it) }
val p = bar()
return newFun(p, p)
}
fun bar(): Int? = null