[FIR] Add CFG nodes, add multiple subGraphs for CFGOwner

This commit is contained in:
Oleg Ivanov
2020-07-30 17:06:30 +03:00
parent 128075e780
commit cc9c5b9e3c
52 changed files with 2359 additions and 1940 deletions
@@ -52,44 +52,51 @@ digraph smartCastInInit_kt {
14 [label="Enter class Main" style="filled" fillcolor=red];
subgraph cluster_6 {
color=blue
16 [label="Enter init block" style="filled" fillcolor=red];
subgraph cluster_7 {
color=blue
17 [label="Enter block"];
18 [label="Function call: R|/s|()"];
19 [label="Assignment: R|/Main.x|"];
20 [label="Access variable R|/Main.x|"];
21 [label="Function call: this@R|/Main|.R|/Main.x|.R|/S.foo|()"];
22 [label="Exit block"];
}
23 [label="Exit init block" style="filled" fillcolor=red];
15 [label="Part of class initialization"];
16 [label="Exit class Main" style="filled" fillcolor=red];
}
15 [label="Exit class Main" style="filled" fillcolor=red];
}
14 -> {16} [color=green];
16 -> {17};
17 -> {18};
18 -> {19};
19 -> {20};
20 -> {21};
21 -> {22};
22 -> {23};
23 -> {15} [color=green];
14 -> {15} [color=green];
15 -> {16} [style=dotted];
15 -> {22} [color=green];
15 -> {22} [style=dashed];
subgraph cluster_8 {
color=red
24 [label="Enter function <init>" style="filled" fillcolor=red];
25 [label="Delegated constructor call: super<R|kotlin/Any|>()"];
26 [label="Exit function <init>" style="filled" fillcolor=red];
}
24 -> {25};
25 -> {26};
subgraph cluster_7 {
color=red
17 [label="Enter function <init>" style="filled" fillcolor=red];
18 [label="Delegated constructor call: super<R|kotlin/Any|>()"];
19 [label="Exit function <init>" style="filled" fillcolor=red];
}
17 -> {18};
18 -> {19};
subgraph cluster_9 {
color=red
27 [label="Enter function getter" style="filled" fillcolor=red];
28 [label="Exit function getter" style="filled" fillcolor=red];
}
27 -> {28};
subgraph cluster_8 {
color=red
20 [label="Enter function getter" style="filled" fillcolor=red];
21 [label="Exit function getter" style="filled" fillcolor=red];
}
20 -> {21};
}
subgraph cluster_9 {
color=red
22 [label="Enter init block" style="filled" fillcolor=red];
subgraph cluster_10 {
color=blue
23 [label="Enter block"];
24 [label="Function call: R|/s|()"];
25 [label="Assignment: R|/Main.x|"];
26 [label="Access variable R|/Main.x|"];
27 [label="Function call: this@R|/Main|.R|/Main.x|.R|/S.foo|()"];
28 [label="Exit block"];
}
29 [label="Exit init block" style="filled" fillcolor=red];
}
22 -> {23};
23 -> {24};
24 -> {25};
25 -> {26};
26 -> {27};
27 -> {28};
28 -> {29};
29 -> {16} [color=green];
}