Extract Function: Support multiple output values
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: A?, kotlin.Any?
|
||||
// PARAM_TYPES: B, A
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: var a: A? defined in foo
|
||||
// PARAM_DESCRIPTOR: value-parameter val b: B defined in foo
|
||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo<A: Any, B: A>(b: B): Int {
|
||||
var a: A? = null
|
||||
var c: Int = 1
|
||||
|
||||
<selection>a = b
|
||||
c += 2
|
||||
println(a)
|
||||
println(c)</selection>
|
||||
|
||||
return a.hashCode() ?: 0 + c
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: A?, kotlin.Any?
|
||||
// PARAM_TYPES: B, A
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: var a: A? defined in foo
|
||||
// PARAM_DESCRIPTOR: value-parameter val b: B defined in foo
|
||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo<A: Any, B: A>(b: B): Int {
|
||||
var a: A? = null
|
||||
var c: Int = 1
|
||||
|
||||
val pair = pair(a, b, c)
|
||||
a = pair.first
|
||||
c = pair.second
|
||||
|
||||
return a.hashCode() ?: 0 + c
|
||||
}
|
||||
|
||||
private fun <A : Any, B : A> pair(a: A?, b: B, c: Int): Pair<A?, Int> {
|
||||
var a1 = a
|
||||
var c1 = c
|
||||
a1 = b
|
||||
c1 += 2
|
||||
println(a1)
|
||||
println(c1)
|
||||
return Pair(a1, c1)
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: var k: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo() {
|
||||
var k = 0
|
||||
<selection>val a = 1
|
||||
k++
|
||||
val b = 2</selection>
|
||||
println(a + b - k)
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: var k: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo() {
|
||||
var k = 0
|
||||
val triple = triple(k)
|
||||
val a = triple.first
|
||||
val b = triple.second
|
||||
k = triple.third
|
||||
println(a + b - k)
|
||||
}
|
||||
|
||||
private fun triple(k: Int): Triple<Int, Int, Int> {
|
||||
var k1 = k
|
||||
val a = 1
|
||||
k1++
|
||||
val b = 2
|
||||
return Triple(a, b, k1)
|
||||
}
|
||||
-12
@@ -1,12 +0,0 @@
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 1
|
||||
|
||||
<selection>b += a
|
||||
c -= a
|
||||
println(b)
|
||||
println(c)</selection>
|
||||
|
||||
return b
|
||||
}
|
||||
-1
@@ -1 +0,0 @@
|
||||
Selected code fragment has multiple output values: var b: Int var c: Int
|
||||
-16
@@ -1,16 +0,0 @@
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 1
|
||||
|
||||
<selection>if (a > 0) {
|
||||
b += a
|
||||
}
|
||||
else {
|
||||
c -= a
|
||||
}
|
||||
println(b)
|
||||
println(c)</selection>
|
||||
|
||||
return b
|
||||
}
|
||||
-1
@@ -1 +0,0 @@
|
||||
Selected code fragment has multiple output values: var b: Int var c: Int
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 1
|
||||
|
||||
<selection>when {
|
||||
a > 0 -> {
|
||||
b += a
|
||||
}
|
||||
else -> {
|
||||
c -= a
|
||||
}
|
||||
}
|
||||
println(b)
|
||||
println(c)</selection>
|
||||
|
||||
return b
|
||||
}
|
||||
-1
@@ -1 +0,0 @@
|
||||
Selected code fragment has multiple output values: var b: Int var c: Int
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 1
|
||||
|
||||
val t = 1 + <selection>if (a > 0) {
|
||||
b += a
|
||||
a + 1
|
||||
}
|
||||
else a</selection>
|
||||
|
||||
return b + c
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 1
|
||||
|
||||
val pair = pair(a, b)
|
||||
b = pair.second
|
||||
val t = 1 + pair.first
|
||||
|
||||
return b + c
|
||||
}
|
||||
|
||||
private fun pair(a: Int, b: Int): Pair<Int, Int> {
|
||||
var b1 = b
|
||||
return Pair(if (a > 0) {
|
||||
b1 += a
|
||||
a + 1
|
||||
} else a, b1)
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
|
||||
val t = <selection>if (a > 0) {
|
||||
b += a
|
||||
b
|
||||
}
|
||||
else {
|
||||
a
|
||||
}</selection>
|
||||
println(b)
|
||||
|
||||
return t
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
|
||||
val pair = pair(a, b)
|
||||
b = pair.second
|
||||
val t = pair.first
|
||||
println(b)
|
||||
|
||||
return t
|
||||
}
|
||||
|
||||
private fun pair(a: Int, b: Int): Pair<Int, Int> {
|
||||
var b1 = b
|
||||
return Pair(if (a > 0) {
|
||||
b1 += a
|
||||
b1
|
||||
} else {
|
||||
a
|
||||
}, b1)
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
|
||||
<selection>b += a
|
||||
println(b)
|
||||
return b</selection>
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
|
||||
return i(a, b)
|
||||
}
|
||||
|
||||
private fun i(a: Int, b: Int): Int {
|
||||
var b1 = b
|
||||
b1 += a
|
||||
println(b1)
|
||||
return b1
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 2
|
||||
|
||||
val t = <selection>if (a > 0) {
|
||||
b += a
|
||||
c -= b
|
||||
b
|
||||
}
|
||||
else {
|
||||
a
|
||||
}</selection>
|
||||
println(b + c)
|
||||
|
||||
return t
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 2
|
||||
|
||||
val triple = triple(a, b, c)
|
||||
b = triple.second
|
||||
c = triple.third
|
||||
val t = triple.first
|
||||
println(b + c)
|
||||
|
||||
return t
|
||||
}
|
||||
|
||||
private fun triple(a: Int, b: Int, c: Int): Triple<Int, Int, Int> {
|
||||
var b1 = b
|
||||
var c1 = c
|
||||
return Triple(if (a > 0) {
|
||||
b1 += a
|
||||
c1 -= b1
|
||||
b1
|
||||
} else {
|
||||
a
|
||||
}, b1, c1)
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 1
|
||||
|
||||
<selection>b += a
|
||||
c -= a
|
||||
println(b)
|
||||
println(c)</selection>
|
||||
|
||||
return b + c
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 1
|
||||
|
||||
val pair = pair(a, b, c)
|
||||
b = pair.first
|
||||
c = pair.second
|
||||
|
||||
return b + c
|
||||
}
|
||||
|
||||
private fun pair(a: Int, b: Int, c: Int): Pair<Int, Int> {
|
||||
var b1 = b
|
||||
var c1 = c
|
||||
b1 += a
|
||||
c1 -= a
|
||||
println(b1)
|
||||
println(c1)
|
||||
return Pair(b1, c1)
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
// WITH_RUNTIME
|
||||
// SIBLING:
|
||||
fun foo() {
|
||||
<selection>val a = 1
|
||||
val b = 2</selection>
|
||||
println(a + b)
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
// WITH_RUNTIME
|
||||
// SIBLING:
|
||||
fun foo() {
|
||||
val pair = pair()
|
||||
val a = pair.first
|
||||
val b = pair.second
|
||||
println(a + b)
|
||||
}
|
||||
|
||||
private fun pair(): Pair<Int, Int> {
|
||||
val a = 1
|
||||
val b = 2
|
||||
return Pair(a, b)
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 1
|
||||
|
||||
<selection>if (a > 0) {
|
||||
b += a
|
||||
}
|
||||
else {
|
||||
c -= a
|
||||
}
|
||||
println(b)
|
||||
println(c)</selection>
|
||||
|
||||
return b + c
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 1
|
||||
|
||||
val pair = pair(a, b, c)
|
||||
b = pair.first
|
||||
c = pair.second
|
||||
|
||||
return b + c
|
||||
}
|
||||
|
||||
private fun pair(a: Int, b: Int, c: Int): Pair<Int, Int> {
|
||||
var b1 = b
|
||||
var c1 = c
|
||||
if (a > 0) {
|
||||
b1 += a
|
||||
} else {
|
||||
c1 -= a
|
||||
}
|
||||
println(b1)
|
||||
println(c1)
|
||||
return Pair(b1, c1)
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 1
|
||||
val pair = 2
|
||||
|
||||
<selection>b += a
|
||||
c -= a
|
||||
println(b)
|
||||
println(c)</selection>
|
||||
|
||||
return b + c
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 1
|
||||
val pair = 2
|
||||
|
||||
val pair1 = pair(a, b, c)
|
||||
b = pair1.first
|
||||
c = pair1.second
|
||||
|
||||
return b + c
|
||||
}
|
||||
|
||||
private fun pair(a: Int, b: Int, c: Int): Pair<Int, Int> {
|
||||
var b1 = b
|
||||
var c1 = c
|
||||
b1 += a
|
||||
c1 -= a
|
||||
println(b1)
|
||||
println(c1)
|
||||
return Pair(b1, c1)
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 1
|
||||
|
||||
<selection>when {
|
||||
a > 0 -> {
|
||||
b += a
|
||||
}
|
||||
else -> {
|
||||
c -= a
|
||||
}
|
||||
}
|
||||
println(b)
|
||||
println(c)</selection>
|
||||
|
||||
return b + c
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 1
|
||||
|
||||
val pair = pair(a, b, c)
|
||||
b = pair.first
|
||||
c = pair.second
|
||||
|
||||
return b + c
|
||||
}
|
||||
|
||||
private fun pair(a: Int, b: Int, c: Int): Pair<Int, Int> {
|
||||
var b1 = b
|
||||
var c1 = c
|
||||
when {
|
||||
a > 0 -> {
|
||||
b1 += a
|
||||
}
|
||||
else -> {
|
||||
c1 -= a
|
||||
}
|
||||
}
|
||||
println(b1)
|
||||
println(c1)
|
||||
return Pair(b1, c1)
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 1
|
||||
var d: Int = 1
|
||||
var e: Int = 1
|
||||
|
||||
<selection>b += a
|
||||
c -= a
|
||||
d += c
|
||||
e -= d
|
||||
println(b)
|
||||
println(c)</selection>
|
||||
|
||||
return b + c + d + e
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
Selected code fragment has more than 3 output values: var b: Int var c: Int var d: Int var e: Int
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
// WITH_RUNTIME
|
||||
// OPTIONS: true, true
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var d: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var e: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 1
|
||||
var d: Int = 1
|
||||
var e: Int = 1
|
||||
|
||||
<selection>b += a
|
||||
c -= a
|
||||
d += c
|
||||
e -= d
|
||||
println(b)
|
||||
println(c)</selection>
|
||||
|
||||
return b + c + d + e
|
||||
}
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
// WITH_RUNTIME
|
||||
// OPTIONS: true, true
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var d: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var e: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 1
|
||||
var d: Int = 1
|
||||
var e: Int = 1
|
||||
|
||||
val list = list(a, b, c, d, e)
|
||||
b = list[0]
|
||||
c = list[1]
|
||||
d = list[2]
|
||||
e = list[3]
|
||||
|
||||
return b + c + d + e
|
||||
}
|
||||
|
||||
private fun list(a: Int, b: Int, c: Int, d: Int, e: Int): List<Int> {
|
||||
var b1 = b
|
||||
var c1 = c
|
||||
var d1 = d
|
||||
var e1 = e
|
||||
b1 += a
|
||||
c1 -= a
|
||||
d1 += c1
|
||||
e1 -= d1
|
||||
println(b1)
|
||||
println(c1)
|
||||
return listOf(b1, c1, d1, e1)
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var d: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 1
|
||||
var d: Int = 1
|
||||
|
||||
<selection>b += a
|
||||
c -= a
|
||||
d += c
|
||||
println(b)
|
||||
println(c)</selection>
|
||||
|
||||
return b + c + d
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var d: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 1
|
||||
var d: Int = 1
|
||||
|
||||
val triple = triple(a, b, c, d)
|
||||
b = triple.first
|
||||
c = triple.second
|
||||
d = triple.third
|
||||
|
||||
return b + c + d
|
||||
}
|
||||
|
||||
private fun triple(a: Int, b: Int, c: Int, d: Int): Triple<Int, Int, Int> {
|
||||
var b1 = b
|
||||
var c1 = c
|
||||
var d1 = d
|
||||
b1 += a
|
||||
c1 -= a
|
||||
d1 += c1
|
||||
println(b1)
|
||||
println(c1)
|
||||
return Triple(b1, c1, d1)
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 1
|
||||
|
||||
<selection>b += a
|
||||
c -= a
|
||||
println(b)
|
||||
println(c)</selection>
|
||||
|
||||
return b
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||
// SIBLING:
|
||||
fun foo(a: Int): Int {
|
||||
var b: Int = 1
|
||||
var c: Int = 1
|
||||
|
||||
b = i(a, b, c)
|
||||
|
||||
return b
|
||||
}
|
||||
|
||||
private fun i(a: Int, b: Int, c: Int): Int {
|
||||
var b1 = b
|
||||
var c1 = c
|
||||
b1 += a
|
||||
c1 -= a
|
||||
println(b1)
|
||||
println(c1)
|
||||
return b1
|
||||
}
|
||||
Reference in New Issue
Block a user