FILE: lambda.kt public? final? data class Tuple : R|kotlin/Any| { public? constructor(x: Int, y: Int): R|Tuple| { super() } public? final? val x: Int = R|/x| public? get(): Int public? final? val y: Int = R|/y| public? get(): Int public final fun component1(): { ^component1 this@R|/Tuple|.R|/Tuple.x| } public final fun component2(): { ^component2 this@R|/Tuple|.R|/Tuple.y| } public final fun copy(x: Int = this@R|/Tuple|.R|/Tuple.x|, y: Int = this@R|/Tuple|.R|/Tuple.y|): R|Tuple| { } } public? final? inline fun use(f: ( (Tuple) -> Int )): { ^use f#(Tuple#(Int(1), Int(2))) } public? final? fun foo(): Int { lval l1: = fun .(t: Tuple): { lval x: = t#.x# lval y: = t#.y# x#.plus#(y#) } use#( = use@fun .(: ): { lval x: = R|/|.component1() lval y: = R|/|.component2() x#.plus#(y#) } ) ^foo use#( = use@fun .(): { when () { ==(it#.x#, Int(0)) -> { ^foo Int(0) } } ^@use it#.y# } ) } public? final? fun bar(): Int { ^bar use#( = lambda@fun .(): { when () { ==(it#.x#, Int(0)) -> { ^bar Int(0) } } ^@lambda it#.y# } ) } public? final? fun test(list: List): R|kotlin/Unit| { lval map: = mutableMapOf#() list#.forEach#( = forEach@fun .(): { lval : = map#.getOrPut#(it#, getOrPut@fun .(): { mutableListOf#() } ) # += String() } ) } public? final? val simple: = fun .(): { Unit } public? get(): public? final? val another: = fun .(): { Int(42) } public? get():