digraph tryWithLambdaInside_kt { graph [nodesep=3] node [shape=box penwidth=2] edge [penwidth=2] subgraph cluster_0 { color=red 0 [label="Enter function notInPlaceFilter" style="filled" fillcolor=red]; 2 [label="Access variable this@R|/notInPlaceFilter|"]; 3 [label="Jump: ^notInPlaceFilter this@R|/notInPlaceFilter|"]; 4 [label="Stub" style="filled" fillcolor=gray]; 1 [label="Exit function notInPlaceFilter" style="filled" fillcolor=red]; } 0 -> {2}; 2 -> {3}; 3 -> {1}; 3 -> {4} [style=dotted]; 4 -> {1} [style=dotted]; subgraph cluster_1 { color=red 5 [label="Enter function foo" style="filled" fillcolor=red]; 6 [label="Exit function foo" style="filled" fillcolor=red]; } 5 -> {6}; subgraph cluster_2 { color=red 7 [label="Enter function testInPlace" style="filled" fillcolor=red]; subgraph cluster_3 { color=blue 9 [label="Try expression enter"]; subgraph cluster_4 { color=blue 11 [label="Try main block enter"]; subgraph cluster_5 { color=blue 13 [label="Enter block"]; 14 [label="Access variable R|/list|"]; 15 [label="Postponed enter to lambda"]; subgraph cluster_6 { color=blue 25 [label="Enter function anonymousFunction" style="filled" fillcolor=red]; 27 [label="Access variable R|/it|"]; 26 [label="Exit function anonymousFunction" style="filled" fillcolor=red]; } 16 [label="Postponed exit from lambda"]; 17 [label="Function call: R|/list|.R|kotlin/collections/filter|(...)"]; 18 [label="Exit block"]; } 19 [label="Try main block exit"]; } subgraph cluster_7 { color=blue 12 [label="Enter finally"]; subgraph cluster_8 { color=blue 20 [label="Enter block"]; 21 [label="Exit block"]; } 22 [label="Exit finally"]; } 10 [label="Try expression exit"]; } 23 [label="Jump: ^testInPlace try { R|/list|.R|kotlin/collections/filter|( = filter@fun (it: R|kotlin/Boolean|): R|kotlin/Boolean| { ^ R|/it| } ) } finally { } "]; 24 [label="Stub" style="filled" fillcolor=gray]; 8 [label="Exit function testInPlace" style="filled" fillcolor=red]; } 7 -> {9}; 9 -> {11}; 10 -> {23}; 11 -> {8 12 13}; 12 -> {20}; 13 -> {14}; 14 -> {15}; 15 -> {25}; 15 -> {16} [color=red]; 16 -> {17}; 17 -> {18}; 18 -> {19}; 19 -> {10}; 20 -> {21}; 21 -> {22}; 22 -> {10}; 23 -> {8}; 23 -> {24} [style=dotted]; 24 -> {8} [style=dotted]; 25 -> {26 27}; 26 -> {25}; 26 -> {16} [color=green]; 27 -> {26}; subgraph cluster_9 { color=red 28 [label="Enter function testNotInPlace" style="filled" fillcolor=red]; subgraph cluster_10 { color=blue 30 [label="Try expression enter"]; subgraph cluster_11 { color=blue 32 [label="Try main block enter"]; subgraph cluster_12 { color=blue 34 [label="Enter block"]; 35 [label="Access variable R|/list|"]; 36 [label="Postponed enter to lambda"]; subgraph cluster_13 { color=blue 46 [label="Enter function anonymousFunction" style="filled" fillcolor=red]; 48 [label="Access variable R|/it|"]; 47 [label="Exit function anonymousFunction" style="filled" fillcolor=red]; } 37 [label="Postponed exit from lambda"]; 38 [label="Function call: R|/list|.R|/notInPlaceFilter|(...)"]; 39 [label="Exit block"]; } 40 [label="Try main block exit"]; } subgraph cluster_14 { color=blue 33 [label="Enter finally"]; subgraph cluster_15 { color=blue 41 [label="Enter block"]; 42 [label="Exit block"]; } 43 [label="Exit finally"]; } 31 [label="Try expression exit"]; } 44 [label="Jump: ^testNotInPlace try { R|/list|.R|/notInPlaceFilter|( = notInPlaceFilter@fun (it: R|kotlin/Boolean|): R|kotlin/Boolean| { ^ R|/it| } ) } finally { } "]; 45 [label="Stub" style="filled" fillcolor=gray]; 29 [label="Exit function testNotInPlace" style="filled" fillcolor=red]; } 28 -> {30}; 30 -> {32}; 31 -> {44}; 32 -> {29 33 34}; 33 -> {41}; 34 -> {35}; 35 -> {36}; 36 -> {37}; 36 -> {46} [color=red]; 37 -> {38}; 38 -> {39}; 39 -> {40}; 40 -> {31}; 41 -> {42}; 42 -> {43}; 43 -> {31}; 44 -> {29}; 44 -> {45} [style=dotted]; 45 -> {29} [style=dotted]; 46 -> {48}; 48 -> {47}; }