Extract Function: Support multiple output values

This commit is contained in:
Alexey Sedunov
2014-09-04 17:28:25 +04:00
parent 7a15a88288
commit 76433571f8
68 changed files with 1293 additions and 319 deletions
@@ -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)
}