FIR DFA: route data flow through anonymous objects

^KT-44515 Fixed
This commit is contained in:
pyos
2022-12-11 16:40:12 +01:00
committed by Dmitriy Novozhilov
parent 17ee8f3a7b
commit 0dd949bb36
16 changed files with 365 additions and 405 deletions
@@ -18,57 +18,56 @@ digraph innerClassInAnonymousObject_kt {
}
6 [label="Exit class <anonymous object>" style="filled" fillcolor=red];
}
7 [label="Exit anonymous object"];
8 [label="Exit anonymous object expression"];
9 [label="Exit property" style="filled" fillcolor=red];
7 [label="Exit anonymous object expression"];
8 [label="Exit property" style="filled" fillcolor=red];
}
subgraph cluster_3 {
color=blue
10 [label="Enter class Nested" style="filled" fillcolor=red];
9 [label="Enter class Nested" style="filled" fillcolor=red];
subgraph cluster_4 {
color=blue
11 [label="Enter function <init>" style="filled" fillcolor=red];
12 [label="Delegated constructor call: super<R|kotlin/Any|>()" style="filled" fillcolor=yellow];
13 [label="Exit function <init>" style="filled" fillcolor=red];
10 [label="Enter function <init>" style="filled" fillcolor=red];
11 [label="Delegated constructor call: super<R|kotlin/Any|>()" style="filled" fillcolor=yellow];
12 [label="Exit function <init>" style="filled" fillcolor=red];
}
14 [label="Exit class Nested" style="filled" fillcolor=red];
13 [label="Exit class Nested" style="filled" fillcolor=red];
}
subgraph cluster_5 {
color=blue
15 [label="Enter function foo" style="filled" fillcolor=red];
14 [label="Enter function foo" style="filled" fillcolor=red];
subgraph cluster_6 {
color=blue
16 [label="Enter block"];
17 [label="Exit block"];
15 [label="Enter block"];
16 [label="Exit block"];
}
18 [label="Exit function foo" style="filled" fillcolor=red];
17 [label="Exit function foo" style="filled" fillcolor=red];
}
0 -> {1};
1 -> {2};
1 -> {7} [color=red];
1 -> {7} [style=dotted];
1 -> {2} [style=dashed];
2 -> {3};
2 -> {10} [color=red];
2 -> {9} [color=red];
2 -> {6} [style=dotted];
2 -> {3} [style=dashed];
3 -> {4};
4 -> {5};
5 -> {6} [color=green];
6 -> {7 10} [color=green];
6 -> {10} [style=dashed];
5 -> {6};
6 -> {7};
6 -> {9} [color=green];
6 -> {9} [style=dashed];
7 -> {8};
8 -> {9};
9 -> {10};
9 -> {14} [color=red];
9 -> {13} [style=dotted];
9 -> {10} [style=dashed];
10 -> {11};
10 -> {15} [color=red];
10 -> {14} [style=dotted];
10 -> {11} [style=dashed];
11 -> {12};
12 -> {13};
12 -> {13} [color=green];
13 -> {14} [color=green];
14 -> {15} [color=green];
14 -> {15} [style=dashed];
13 -> {14} [style=dashed];
14 -> {15};
15 -> {16};
16 -> {17};
17 -> {18};
}