FILE: flowFromInplaceLambda2.kt public final fun foo(x: R|T?|, i: R|kotlin/Int|, y: R|T|): R|kotlin/Unit| { } public final fun id(x: R|T|): R|T| { ^id R|/x| } public final fun n(): R|T?| { ^n Null(null) } public final fun someCompletedCall(arg: R|kotlin/Int|): R|kotlin/Int| { ^someCompletedCall R|/arg| } public final fun test1(x: R|kotlin/String?|): R|kotlin/Unit| { R|/foo|(R|/id|(R|kotlin/run|( = run@fun (): R|kotlin/Int?| { (R|/x| as R|kotlin/String|) ^ R|/n|() } )), Int(1), R|kotlin/run|( = run@fun (): R|kotlin/Int| { R|/x|.R|kotlin/String.length#| ^ Int(123) } )) R|/x|.R|kotlin/String.length#| } public final fun test2(x: R|kotlin/String?|): R|kotlin/Unit| { R|/foo|(R|/id|(R|kotlin/run|( = run@fun (): R|kotlin/Int?| { (R|/x| as R|kotlin/String|) ^ R|/n|() } )), R|/someCompletedCall|(Int(1)), R|kotlin/run|( = run@fun (): R|kotlin/Int| { R|/x|.R|kotlin/String.length#| ^ Int(123) } )) R|/x|.R|kotlin/String.length#| } public final fun test3(x: R|kotlin/String?|): R|kotlin/Unit| { R|/foo|(R|/id|(R|kotlin/run|( = run@fun (): R|kotlin/Int?| { (R|/x| as R|kotlin/String|) ^ R|/n|() } )), when () { Boolean(true) -> { Int(1) } else -> { Int(2) } } , R|kotlin/run|( = run@fun (): R|kotlin/Int| { R|/x|.R|kotlin/String.length#| ^ Int(123) } )) R|/x|.R|kotlin/String.length#| } public final fun test4(x: R|kotlin/String?|): R|kotlin/Unit| { lvar p: R|kotlin/String?| = R|/x| when () { !=(R|/p|, Null(null)) -> { R|/foo|(R|/id|(when () { Boolean(true) -> { R|kotlin/run|( = run@fun (): R|kotlin/Int?| { R|/p| = Null(null) ^ R|/n|() } ) } else -> { R|kotlin/run|( = run@fun (): R|kotlin/Int?| { ^ R|/n|() } ) } } ), Int(1), R|kotlin/run|( = run@fun (): R|kotlin/Int| { R|/p|.R|kotlin/String.length#| ^ Int(123) } )) R|/p|.R|kotlin/String.length#| } } } public final fun test5(x: R|kotlin/String?|, y: R|kotlin/String?|): R|kotlin/Unit| { R|/foo|(R|/y|?.{ $subj$.R|kotlin/let|( = let@fun (it: R|kotlin/String|): R|kotlin/String?| { (R|/x| as R|kotlin/String|) ^ R|/n|() } ) }, Int(1), R|kotlin/run|( = run@fun (): R|kotlin/String| { ^ String() } )) R|/x|.R|kotlin/String.length#| } public final fun test6(x: R|kotlin/String?|): R|kotlin/Unit| { R|/foo|(R|/id|(when () { Boolean(true) -> { R|kotlin/run|( = run@fun (): R|kotlin/Int?| { (R|/x| as R|kotlin/String|) ^ R|/n|() } ) } else -> { R|kotlin/run|( = run@fun (): R|kotlin/Int?| { (R|/x| as R|kotlin/String|) ^ R|/n|() } ) } } ), Int(1), R|kotlin/run|( = run@fun (): R|kotlin/Int| { R|/x|.R|kotlin/String.length#| ^ Int(123) } )) R|/x|.R|kotlin/String.length#| } public final fun test7(x: R|kotlin/String?|): R|kotlin/Unit| { lvar p: R|kotlin/String?| = R|/x| when () { !=(R|/p|, Null(null)) -> { R|/foo|(R|/id|(R|kotlin/run|( = run@fun (): R|kotlin/Int?| { R|/p| = Null(null) ^ R|/n|() } )), Int(1), R|kotlin/run|( = run@fun (): R|kotlin/Int| { R|/p|.R|kotlin/String.length#| ^ Int(123) } )) R|/p|.R|kotlin/String.length#| } } }