Extract Function: In case of top-level and member declarations place extracted function after the original container

This commit is contained in:
Alexey Sedunov
2014-05-30 14:37:41 +04:00
parent ae7ad6d61c
commit 3c5c0248a7
138 changed files with 482 additions and 440 deletions
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..a) {
@@ -1,16 +1,16 @@
// NEXT_SIBLING:
fun b(a: Int, b: Int): Boolean {
if (a + b > 0) return true
println(a - b)
if (a - b > 0) return true
println(a + b)
return false
}
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..a) {
if (b(a, b)) break
}
return 1
}
fun b(a: Int, b: Int): Boolean {
if (a + b > 0) return true
println(a - b)
if (a - b > 0) return true
println(a + b)
return false
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..a) {
@@ -1,13 +1,4 @@
// NEXT_SIBLING:
fun b(a: Int, b: Int): Boolean {
if (a + b > 0) return true
else {
println(a - b)
if (a - b > 0) return true else println(a + b)
}
return false
}
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..a) {
@@ -15,4 +6,13 @@ fun foo(a: Int): Int {
}
return 1
}
fun b(a: Int, b: Int): Boolean {
if (a + b > 0) return true
else {
println(a - b)
if (a - b > 0) return true else println(a + b)
}
return false
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..a) {
@@ -1,4 +1,12 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..a) {
if (b(a, b)) break
}
return 1
}
fun b(a: Int, b: Int): Boolean {
when {
a + b > 0 -> return true
@@ -6,12 +14,4 @@ fun b(a: Int, b: Int): Boolean {
else -> println(0)
}
return false
}
fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..a) {
if (b(a, b)) break
}
return 1
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
<selection>if (a + b > 0) return 0
@@ -1,12 +1,12 @@
// NEXT_SIBLING:
fun b(a: Int, b: Int): Boolean {
if (a + b > 0) return true
println(a - b)
return false
}
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
if (b(a, b)) return 0
return 1
}
fun b(a: Int, b: Int): Boolean {
if (a + b > 0) return true
println(a - b)
return false
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
<selection>if (a + b > 0) return 0
@@ -1,13 +1,13 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
if (b(a, b)) return 0
return 1
}
fun b(a: Int, b: Int): Boolean {
if (a + b > 0) return true
else if (a - b < 0) println(a - b)
else println(0)
return false
}
fun foo(a: Int): Int {
val b: Int = 1
if (b(a, b)) return 0
return 1
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
<selection>when (a + b) {
@@ -1,4 +1,11 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
if (b(a, b)) return 0
return 1
}
fun b(a: Int, b: Int): Boolean {
when (a + b) {
0 -> return true
@@ -6,11 +13,4 @@ fun b(a: Int, b: Int): Boolean {
else -> println(2)
}
return false
}
fun foo(a: Int): Int {
val b: Int = 1
if (b(a, b)) return 0
return 1
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..a) {
@@ -1,10 +1,4 @@
// NEXT_SIBLING:
fun unit(a: Int, b: Int) {
if (a + b > 0) return
println(a - b)
return
}
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..a) {
@@ -12,4 +6,10 @@ fun foo(a: Int): Int {
break
}
return 1
}
fun unit(a: Int, b: Int) {
if (a + b > 0) return
println(a - b)
return
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..a) {
@@ -1,12 +1,4 @@
// NEXT_SIBLING:
fun unit(a: Int, b: Int) {
if (a + b > 0) return
else {
println(a - b)
return
}
}
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..a) {
@@ -14,4 +6,12 @@ fun foo(a: Int): Int {
break
}
return 1
}
fun unit(a: Int, b: Int) {
if (a + b > 0) return
else {
println(a - b)
return
}
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..a) {
@@ -1,4 +1,13 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..a) {
unit(a, b)
break
}
return 1
}
fun unit(a: Int, b: Int) {
when {
a + b > 0 -> return
@@ -8,13 +17,4 @@ fun unit(a: Int, b: Int) {
return
}
}
}
fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..a) {
unit(a, b)
break
}
return 1
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int) {
val b: Int = 1
@@ -1,13 +1,13 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int) {
val b: Int = 1
unit(a, b)
}
fun unit(a: Int, b: Int) {
if (a > 0) {
println(a)
}
println(b)
}
fun foo(a: Int) {
val b: Int = 1
unit(a, b)
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int) {
val b: Int = 1
@@ -1,4 +1,10 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int) {
val b: Int = 1
unit(a)
}
fun unit(a: Int) {
var t = a
while (t > 0) {
@@ -7,10 +13,4 @@ fun unit(a: Int) {
if (t == 1) break
t--
}
}
fun foo(a: Int) {
val b: Int = 1
unit(a)
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
<selection>if (a + b > 0) return 1
@@ -1,11 +1,11 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
return i(a, b)
}
fun i(a: Int, b: Int): Int {
if (a + b > 0) return 1
else if (a - b < 0) return 2
else return b
}
fun foo(a: Int): Int {
val b: Int = 1
return i(a, b)
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
<selection>when (a + b) {
@@ -1,13 +1,13 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
return i(a, b)
}
fun i(a: Int, b: Int): Int {
when (a + b) {
0 -> return b
1 -> return -b
else -> return a - b
}
}
fun foo(a: Int): Int {
val b: Int = 1
return i(a, b)
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
<selection>return a + b</selection>
@@ -1,9 +1,9 @@
// NEXT_SIBLING:
fun i(a: Int, b: Int): Int {
return a + b
}
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
return i(a, b)
}
fun i(a: Int, b: Int): Int {
return a + b
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
return <selection>if (a + b > 0) 1 else if (a - b < 0) 2 else b </selection>
@@ -1,9 +1,9 @@
// NEXT_SIBLING:
fun i(a: Int, b: Int): Int {
return if (a + b > 0) 1 else if (a - b < 0) 2 else b
}
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
return i(a, b)
}
fun i(a: Int, b: Int): Int {
return if (a + b > 0) 1 else if (a - b < 0) 2 else b
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
return <selection>when (a + b) {
@@ -1,13 +1,13 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
return i(a, b)
}
fun i(a: Int, b: Int): Int {
return when (a + b) {
0 -> b
1 -> -b
else -> a - b
}
}
fun foo(a: Int): Int {
val b: Int = 1
return i(a, b)
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
return <selection>a + b</selection>
@@ -1,9 +1,9 @@
// NEXT_SIBLING:
fun i(a: Int, b: Int): Int {
return a + b
}
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
return i(a, b)
}
fun i(a: Int, b: Int): Int {
return a + b
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
var b: Int = 1
var c: Int = 1
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
var b: Int = 1
var c: Int = 1
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
var b: Int = 1
var c: Int = 1
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
var b: Int = 1
@@ -1,15 +1,15 @@
// NEXT_SIBLING:
fun i(a: Int, b: Int): Int {
var b1 = b
b1 += a
println(b1)
return b1
}
// SIBLING:
fun foo(a: Int): Int {
var b: Int = 1
b = i(a, b)
return b
}
fun i(a: Int, b: Int): Int {
var b1 = b
b1 += a
println(b1)
return b1
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
var b: Int = 1
@@ -1,4 +1,12 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
var b: Int = 1
b = i(a, b)
return b
}
fun i(a: Int, b: Int): Int {
var b1 = b
if (a > 0) {
@@ -6,12 +14,4 @@ fun i(a: Int, b: Int): Int {
}
println(b1)
return b1
}
fun foo(a: Int): Int {
var b: Int = 1
b = i(a, b)
return b
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
var b: Int = 1
@@ -1,4 +1,12 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
var b: Int = 1
b = i(a, b)
return b
}
fun i(a: Int, b: Int): Int {
var b1 = b
if (a > 0) {
@@ -10,12 +18,4 @@ fun i(a: Int, b: Int): Int {
}
println(b1)
return b1
}
fun foo(a: Int): Int {
var b: Int = 1
b = i(a, b)
return b
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
var b: Int = 1
@@ -1,4 +1,12 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
var b: Int = 1
b = i(a, b)
return b
}
fun i(a: Int, b: Int): Int {
var b1 = b
when {
@@ -11,12 +19,4 @@ fun i(a: Int, b: Int): Int {
}
println(b1)
return b1
}
fun foo(a: Int): Int {
var b: Int = 1
b = i(a, b)
return b
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
var b: Int = 1
@@ -1,4 +1,12 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
var b: Int = 1
b = i(a, b)
return b
}
fun i(a: Int, b: Int): Int {
var b1 = b
when {
@@ -14,12 +22,4 @@ fun i(a: Int, b: Int): Int {
}
println(b1)
return b1
}
fun foo(a: Int): Int {
var b: Int = 1
b = i(a, b)
return b
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..b) {
@@ -1,14 +1,14 @@
// NEXT_SIBLING:
fun b(a: Int, b: Int): Boolean {
if (a > 0) throw Exception("")
if (a + b > 0) return true
println(a - b)
return false
}
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..b) {
if (b(a, b)) break
}
}
fun b(a: Int, b: Int): Boolean {
if (a > 0) throw Exception("")
if (a + b > 0) return true
println(a - b)
return false
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..b) {
@@ -1,14 +1,14 @@
// NEXT_SIBLING:
fun b(a: Int, b: Int): Boolean {
if (a > 0) throw Exception("")
if (a + b > 0) return true
println(a - b)
return false
}
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..b) {
if (b(a, b)) continue
}
}
fun b(a: Int, b: Int): Boolean {
if (a > 0) throw Exception("")
if (a + b > 0) return true
println(a - b)
return false
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
@@ -1,11 +1,11 @@
// NEXT_SIBLING:
fun i(a: Int, b: Int): Int {
return if (a > 0) throw Exception("") else a + b
}
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
val t = i(a, b)
return t
}
fun i(a: Int, b: Int): Int {
return if (a > 0) throw Exception("") else a + b
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int) {
val b: Int = 1
@@ -1,13 +1,13 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int) {
val b: Int = 1
if (b(a, b)) return
}
fun b(a: Int, b: Int): Boolean {
if (a > 0) throw Exception("")
if (b + a > 0) return true
println(a - b)
return false
}
fun foo(a: Int) {
val b: Int = 1
if (b(a, b)) return
}
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
@@ -1,11 +1,11 @@
// NEXT_SIBLING:
fun i(a: Int, b: Int): Int {
if (a > 0) throw Exception("") else return a + b
return a - b
}
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
return i(a, b)
}
fun i(a: Int, b: Int): Int {
if (a > 0) throw Exception("") else return a + b
return a - b
}
@@ -3,7 +3,7 @@ trait Callable<T> {
}
fun foo(a: Int): Int {
// NEXT_SIBLING:
// SIBLING:
val o = <selection>object: Callable<Int> {
val b: Int = 1
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..a) {
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..a) {
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
val b: Int = 1
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
var b: Int = 1
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
var b: Int = 1
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(a: Int): Int {
var b: Int = 1
@@ -1,4 +1,4 @@
// NEXT_SIBLING:
// SIBLING:
fun foo(t: Int): Int {
<selection>val x = t + 1
if (x > 0) return x</selection>