[FIR] Introduce new algorithm for building CFG for declarations

This commit is contained in:
Dmitriy Novozhilov
2020-06-05 15:47:57 +03:00
parent 950bbfe3a5
commit 87859b0faa
95 changed files with 16070 additions and 13199 deletions
@@ -24,38 +24,45 @@ digraph innerClassInAnonymousObject_kt {
subgraph cluster_2 {
color=red
6 [label="Enter function foo" style="filled" fillcolor=red];
subgraph cluster_3 {
color=blue
8 [label="Enter block"];
9 [label="Exit block"];
}
7 [label="Exit function foo" style="filled" fillcolor=red];
}
6 -> {7};
subgraph cluster_3 {
color=red
8 [label="Enter class Nested" style="filled" fillcolor=red];
9 [label="Exit class Nested" style="filled" fillcolor=red];
}
8 -> {9} [color=green];
6 -> {8};
8 -> {9};
9 -> {7};
subgraph cluster_4 {
color=red
10 [label="Enter class <anonymous>" style="filled" fillcolor=red];
11 [label="Exit class <anonymous>" style="filled" fillcolor=red];
11 [label="Enter class Nested" style="filled" fillcolor=red];
10 [label="Exit class Nested" style="filled" fillcolor=red];
}
10 -> {11} [color=green];
11 -> {10} [color=green];
subgraph cluster_5 {
color=red
14 [label="Enter property" style="filled" fillcolor=red];
subgraph cluster_6 {
color=blue
12 [label="Enter function getter" style="filled" fillcolor=red];
13 [label="Exit function getter" style="filled" fillcolor=red];
}
16 [label="Exit anonymous object"];
15 [label="Exit property" style="filled" fillcolor=red];
14 [label="Enter function getter" style="filled" fillcolor=red];
15 [label="Exit function getter" style="filled" fillcolor=red];
}
14 -> {16};
14 -> {0 3 6} [color=red];
16 -> {15};
12 -> {13};
14 -> {15};
subgraph cluster_6 {
color=red
16 [label="Enter property" style="filled" fillcolor=red];
subgraph cluster_7 {
color=blue
13 [label="Enter class <anonymous object>" style="filled" fillcolor=red];
12 [label="Exit class <anonymous object>" style="filled" fillcolor=red];
}
18 [label="Exit anonymous object"];
17 [label="Exit property" style="filled" fillcolor=red];
}
16 -> {18};
16 -> {0 3 6} [color=red];
18 -> {17};
13 -> {12} [color=green];
}