FIR CFA: put primary constructor before other class members

This commit is contained in:
pyos
2022-12-11 16:35:08 +01:00
committed by Dmitriy Novozhilov
parent c6e9afb788
commit 17ee8f3a7b
31 changed files with 1890 additions and 1871 deletions
@@ -341,28 +341,27 @@ digraph boundSmartcasts_kt {
125 [label="Enter class D" style="filled" fillcolor=red];
subgraph cluster_28 {
color=blue
126 [label="Enter property" style="filled" fillcolor=red];
127 [label="Access variable R|<local>/any|"];
128 [label="Exit property" style="filled" fillcolor=red];
126 [label="Enter function <init>" style="filled" fillcolor=red];
127 [label="Delegated constructor call: super<R|kotlin/Any|>()" style="filled" fillcolor=yellow];
128 [label="Exit function <init>" style="filled" fillcolor=red];
}
129 [label="Exit class D" style="filled" fillcolor=red];
}
subgraph cluster_29 {
color=blue
130 [label="Enter function <init>" style="filled" fillcolor=red];
131 [label="Delegated constructor call: super<R|kotlin/Any|>()" style="filled" fillcolor=yellow];
132 [label="Exit function <init>" style="filled" fillcolor=red];
subgraph cluster_29 {
color=blue
129 [label="Enter property" style="filled" fillcolor=red];
130 [label="Access variable R|<local>/any|"];
131 [label="Exit property" style="filled" fillcolor=red];
}
132 [label="Exit class D" style="filled" fillcolor=red];
}
125 -> {126} [color=green];
125 -> {129} [style=dotted];
125 -> {126} [style=dashed];
125 -> {132} [style=dotted];
125 -> {126 129} [style=dashed];
126 -> {127};
127 -> {128};
128 -> {129} [color=green];
129 -> {130} [color=green];
129 -> {130} [style=dashed];
129 -> {130};
130 -> {131};
131 -> {132};
131 -> {132} [color=green];
subgraph cluster_30 {
color=red
@@ -8,28 +8,27 @@ digraph boundSmartcastsInBranches_kt {
0 [label="Enter class A" style="filled" fillcolor=red];
subgraph cluster_1 {
color=blue
1 [label="Enter property" style="filled" fillcolor=red];
2 [label="Const: String()"];
3 [label="Exit property" style="filled" fillcolor=red];
1 [label="Enter function <init>" style="filled" fillcolor=red];
2 [label="Delegated constructor call: super<R|kotlin/Any|>()" style="filled" fillcolor=yellow];
3 [label="Exit function <init>" style="filled" fillcolor=red];
}
4 [label="Exit class A" style="filled" fillcolor=red];
}
subgraph cluster_2 {
color=blue
5 [label="Enter function <init>" style="filled" fillcolor=red];
6 [label="Delegated constructor call: super<R|kotlin/Any|>()" style="filled" fillcolor=yellow];
7 [label="Exit function <init>" style="filled" fillcolor=red];
subgraph cluster_2 {
color=blue
4 [label="Enter property" style="filled" fillcolor=red];
5 [label="Const: String()"];
6 [label="Exit property" style="filled" fillcolor=red];
}
7 [label="Exit class A" style="filled" fillcolor=red];
}
0 -> {1} [color=green];
0 -> {4} [style=dotted];
0 -> {1} [style=dashed];
0 -> {7} [style=dotted];
0 -> {1 4} [style=dashed];
1 -> {2};
2 -> {3};
3 -> {4} [color=green];
4 -> {5} [color=green];
4 -> {5} [style=dashed];
4 -> {5};
5 -> {6};
6 -> {7};
6 -> {7} [color=green];
subgraph cluster_3 {
color=red
@@ -6,47 +6,47 @@ digraph functionCallBound_kt {
subgraph cluster_0 {
color=red
0 [label="Enter class Base" style="filled" fillcolor=red];
1 [label="Exit class Base" style="filled" fillcolor=red];
}
subgraph cluster_1 {
color=blue
2 [label="Enter function <init>" style="filled" fillcolor=red];
3 [label="Delegated constructor call: super<R|kotlin/Any|>()" style="filled" fillcolor=yellow];
4 [label="Exit function <init>" style="filled" fillcolor=red];
subgraph cluster_1 {
color=blue
1 [label="Enter function <init>" style="filled" fillcolor=red];
2 [label="Delegated constructor call: super<R|kotlin/Any|>()" style="filled" fillcolor=yellow];
3 [label="Exit function <init>" style="filled" fillcolor=red];
}
4 [label="Exit class Base" style="filled" fillcolor=red];
}
0 -> {1} [color=green];
1 -> {2} [color=green];
1 -> {2} [style=dashed];
0 -> {4} [style=dotted];
0 -> {1} [style=dashed];
1 -> {2};
2 -> {3};
3 -> {4};
3 -> {4} [color=green];
subgraph cluster_2 {
color=red
5 [label="Enter class Sub" style="filled" fillcolor=red];
subgraph cluster_3 {
color=blue
6 [label="Enter property" style="filled" fillcolor=red];
7 [label="Access variable R|<local>/data|"];
8 [label="Exit property" style="filled" fillcolor=red];
6 [label="Enter function <init>" style="filled" fillcolor=red];
7 [label="Delegated constructor call: super<R|Base|>()" style="filled" fillcolor=yellow];
8 [label="Exit function <init>" style="filled" fillcolor=red];
}
9 [label="Exit class Sub" style="filled" fillcolor=red];
}
subgraph cluster_4 {
color=blue
10 [label="Enter function <init>" style="filled" fillcolor=red];
11 [label="Delegated constructor call: super<R|Base|>()" style="filled" fillcolor=yellow];
12 [label="Exit function <init>" style="filled" fillcolor=red];
subgraph cluster_4 {
color=blue
9 [label="Enter property" style="filled" fillcolor=red];
10 [label="Access variable R|<local>/data|"];
11 [label="Exit property" style="filled" fillcolor=red];
}
12 [label="Exit class Sub" style="filled" fillcolor=red];
}
5 -> {6} [color=green];
5 -> {9} [style=dotted];
5 -> {6} [style=dashed];
5 -> {12} [style=dotted];
5 -> {6 9} [style=dashed];
6 -> {7};
7 -> {8};
8 -> {9} [color=green];
9 -> {10} [color=green];
9 -> {10} [style=dashed];
9 -> {10};
10 -> {11};
11 -> {12};
11 -> {12} [color=green];
subgraph cluster_5 {
color=red