introduceValue() always adds statement before except for safe call case
This commit is contained in:
+2
-1
@@ -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
|
||||
|
||||
+4
-1
@@ -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
|
||||
|
||||
+4
-1
@@ -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
|
||||
|
||||
+2
-1
@@ -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)
|
||||
}
|
||||
|
||||
+2
-1
@@ -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
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
fun String.<caret>f(p: Int) = hashCode() * p
|
||||
|
||||
fun f(s: String?) {
|
||||
s?.f(1)
|
||||
s?.substring(1)?.f(2)
|
||||
val s1 = s?.f(3)
|
||||
val s2 = s?.substring(1)?.f(4)
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fun f(s: String?) {
|
||||
if (s != null) {
|
||||
s.hashCode() * 1
|
||||
}
|
||||
val substring = s?.substring(1)
|
||||
if (substring != null) {
|
||||
substring.hashCode() * 2
|
||||
}
|
||||
val s1 = s?.let { it.hashCode() * 3 }
|
||||
val s2 = s?.substring(1)?.let { it.hashCode() * 4 }
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fun <caret>f(p1: Int, p2: Int): Int {
|
||||
println(p1)
|
||||
println(p2)
|
||||
return p1 + p2
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
for (i in 1..10) {
|
||||
println(f(i, i + 1))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
fun main(args: Array<String>) {
|
||||
for (i in 1..10) {
|
||||
val p2 = i + 1
|
||||
println(i)
|
||||
println(p2)
|
||||
println(i + p2)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
fun <caret>f(p1: Int, p2: Int): Int {
|
||||
println(p1)
|
||||
println(p2)
|
||||
return p1 + p2
|
||||
}
|
||||
|
||||
fun foo1() = f(1, 2)
|
||||
|
||||
fun foo2(): Int = f(3, 4)
|
||||
|
||||
val v: Int
|
||||
get() = f(5, 6)
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
fun foo1(): Int {
|
||||
println(1)
|
||||
println(2)
|
||||
return 1 + 2
|
||||
}
|
||||
|
||||
fun foo2(): Int {
|
||||
println(3)
|
||||
println(4)
|
||||
return 3 + 4
|
||||
}
|
||||
|
||||
val v: Int
|
||||
get() {
|
||||
println(5)
|
||||
println(6)
|
||||
return 5 + 6
|
||||
}
|
||||
Reference in New Issue
Block a user