[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
@@ -192,45 +192,45 @@ digraph safeCalls_kt {
77 [label="Postponed enter to lambda"];
subgraph cluster_13 {
color=blue
79 [label="Enter function anonymousFunction"];
81 [label="Jump: ^test_5 Unit"];
82 [label="Stub" style="filled" fillcolor=gray];
80 [label="Exit function anonymousFunction" style="filled" fillcolor=gray];
88 [label="Enter function anonymousFunction" style="filled" fillcolor=red];
90 [label="Jump: ^test_5 Unit"];
91 [label="Stub" style="filled" fillcolor=gray];
89 [label="Exit function anonymousFunction" style="filled" fillcolor=red style="filled" fillcolor=gray];
}
84 [label="Call arguments union" style="filled" fillcolor=gray];
80 [label="Call arguments union" style="filled" fillcolor=gray];
78 [label="Postponed exit from lambda"];
83 [label="Function call: R|<local>/x|?.R|kotlin/let|<R|A|, R|kotlin/Nothing|>(...)" style="filled" fillcolor=gray];
79 [label="Function call: R|<local>/x|?.R|kotlin/let|<R|A|, R|kotlin/Nothing|>(...)" style="filled" fillcolor=gray];
76 [label="Exit safe call"];
85 [label="Enter safe call"];
87 [label="Access variable R|<local>/x|"];
88 [label="Function call: R|<local>/x|.R|/A.bool|()"];
89 [label="Function call: R|<local>/x|?.R|kotlin/let|<R|A|, R|kotlin/Nothing|>(...)?.R|/boo|(...)"];
86 [label="Exit safe call"];
90 [label="Access variable R|<local>/x|"];
91 [label="Function call: R|<local>/x|.<Inapplicable(WRONG_RECEIVER): [/A.id]>#()"];
81 [label="Enter safe call"];
83 [label="Access variable R|<local>/x|"];
84 [label="Function call: R|<local>/x|.R|/A.bool|()"];
85 [label="Function call: R|<local>/x|?.R|kotlin/let|<R|A|, R|kotlin/Nothing|>(...)?.R|/boo|(...)"];
82 [label="Exit safe call"];
86 [label="Access variable R|<local>/x|"];
87 [label="Function call: R|<local>/x|.<Inapplicable(WRONG_RECEIVER): [/A.id]>#()"];
73 [label="Exit function test_5" style="filled" fillcolor=red];
}
72 -> {74};
74 -> {75 76};
75 -> {77};
76 -> {85 86};
77 -> {79};
76 -> {81 82};
77 -> {88};
77 -> {78} [color=red];
78 -> {83} [color=green];
79 -> {81};
80 -> {84} [style=dotted];
80 -> {78} [color=green];
81 -> {73};
81 -> {82} [style=dotted];
82 -> {80} [style=dotted];
83 -> {76} [style=dotted];
84 -> {83} [style=dotted];
85 -> {87};
86 -> {90};
87 -> {88};
88 -> {89};
89 -> {86};
90 -> {91};
91 -> {73};
78 -> {79} [color=green];
79 -> {76} [style=dotted];
80 -> {79} [style=dotted];
81 -> {83};
82 -> {86};
83 -> {84};
84 -> {85};
85 -> {82};
86 -> {87};
87 -> {73};
88 -> {90};
89 -> {80} [style=dotted];
89 -> {78} [color=green];
90 -> {73};
90 -> {91} [style=dotted];
91 -> {89} [style=dotted];
}