// WITH_RUNTIME // SUGGESTED_NAMES: i, getT // PARAM_TYPES: kotlin.Int // PARAM_TYPES: kotlin.Int // PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in test // PARAM_DESCRIPTOR: var b: kotlin.Int defined in test // SIBLING: fun test(a: Int): Int { var b: Int = 1 val t = i(a, b) return t } fun foo1() { val x = 1 var y: Int = x println( i(x, y) ) } fun foo2(x: Int) { var p: Int = 1 var q: Int if (x > 0) { p++ q = p + x } else { p-- q = p - x } println(q) } fun foo3(x: Int): Int { var p: Int = 1 if (x > 0) { p++ return p + x } else { p-- return p - x } } fun foo4() { val t: (Int) -> (Int) = { var n = it i(it, n) } println(t(1)) } fun foo5(x: Int): Int { var p: Int = 1 i(x, p) } private fun i(a: Int, b: Int): Int { var b1 = b return if (a > 0) { b1++ b1 + a } else { b1-- b1 - a } }