[FIR] Add control flow graph to inplace lambdas

This commit is contained in:
Dmitriy Novozhilov
2020-03-31 15:23:32 +03:00
parent 1d39270b3e
commit bcd2e5ed2c
20 changed files with 983 additions and 996 deletions
@@ -44,53 +44,53 @@ digraph initBlockAndInPlaceLambda_kt {
29 [label="Enter class C" style="filled" fillcolor=red];
subgraph cluster_6 {
color=blue
11 [label="Enter init block" style="filled" fillcolor=red];
16 [label="Enter init block" style="filled" fillcolor=red];
subgraph cluster_7 {
color=blue
13 [label="Enter block"];
14 [label="Access variable R|<local>/a|"];
15 [label="Access variable R|/A.b|"];
16 [label="Enter safe call"];
18 [label="Postponed enter to lambda"];
18 [label="Enter block"];
19 [label="Access variable R|<local>/a|"];
20 [label="Access variable R|/A.b|"];
21 [label="Enter safe call"];
23 [label="Postponed enter to lambda"];
subgraph cluster_8 {
color=blue
20 [label="Enter function anonymousFunction"];
22 [label="Access variable R|<local>/a|"];
23 [label="Access variable R|<local>/it|"];
24 [label="Function call: R|/C.C|(...)"];
21 [label="Exit function anonymousFunction"];
11 [label="Enter function anonymousFunction" style="filled" fillcolor=red];
13 [label="Access variable R|<local>/a|"];
14 [label="Access variable R|<local>/it|"];
15 [label="Function call: R|/C.C|(...)"];
12 [label="Exit function anonymousFunction" style="filled" fillcolor=red];
}
26 [label="Call arguments union" style="filled" fillcolor=yellow];
19 [label="Postponed exit from lambda"];
24 [label="Postponed exit from lambda"];
25 [label="Function call: R|<local>/a|.R|/A.b|?.R|kotlin/let|<R|B|, R|C|>(...)"];
17 [label="Exit safe call"];
22 [label="Exit safe call"];
27 [label="Variable declaration: lval c: R|C?|"];
28 [label="Exit block"];
}
12 [label="Exit init block" style="filled" fillcolor=red];
17 [label="Exit init block" style="filled" fillcolor=red];
}
30 [label="Exit class C" style="filled" fillcolor=red];
}
29 -> {11} [color=green];
11 -> {13};
12 -> {30} [color=green];
13 -> {14};
14 -> {15};
15 -> {16 17};
29 -> {16} [color=green];
16 -> {18};
17 -> {27};
18 -> {20};
18 -> {19} [color=red];
19 -> {25} [color=green];
20 -> {22};
21 -> {19} [color=green];
21 -> {26} [color=red];
22 -> {23};
23 -> {24};
24 -> {21};
25 -> {17};
17 -> {30} [color=green];
18 -> {19};
19 -> {20};
20 -> {21 22};
21 -> {23};
22 -> {27};
23 -> {11};
23 -> {24} [color=red];
24 -> {25} [color=green];
25 -> {22};
26 -> {25} [color=red];
27 -> {28};
28 -> {12};
28 -> {17};
11 -> {13};
12 -> {24} [color=green];
12 -> {26} [color=red];
13 -> {14};
14 -> {15};
15 -> {12};
}