FIR CFA: add edges according to constructor delegation

This commit is contained in:
pyos
2023-01-18 12:02:00 +01:00
committed by teamcity
parent 29b7a8e435
commit 9f17b5de97
21 changed files with 593 additions and 562 deletions
@@ -341,15 +341,15 @@ digraph boundSmartcasts_kt {
125 [label="Enter class D" style="filled" fillcolor=red];
subgraph cluster_28 {
color=blue
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];
126 [label="Enter property" style="filled" fillcolor=red];
127 [label="Access variable R|<local>/any|"];
128 [label="Exit property" 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];
129 [label="Enter function <init>" style="filled" fillcolor=red];
130 [label="Delegated constructor call: super<R|kotlin/Any|>()" style="filled" fillcolor=yellow];
131 [label="Exit function <init>" style="filled" fillcolor=red];
}
132 [label="Exit class D" style="filled" fillcolor=red];
}
@@ -8,15 +8,15 @@ digraph boundSmartcastsInBranches_kt {
0 [label="Enter class A" 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];
1 [label="Enter property" style="filled" fillcolor=red];
2 [label="Const: String()"];
3 [label="Exit property" 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];
4 [label="Enter function <init>" style="filled" fillcolor=red];
5 [label="Delegated constructor call: super<R|kotlin/Any|>()" style="filled" fillcolor=yellow];
6 [label="Exit function <init>" style="filled" fillcolor=red];
}
7 [label="Exit class A" style="filled" fillcolor=red];
}
@@ -26,15 +26,15 @@ digraph functionCallBound_kt {
5 [label="Enter class Sub" style="filled" fillcolor=red];
subgraph cluster_3 {
color=blue
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];
6 [label="Enter property" style="filled" fillcolor=red];
7 [label="Access variable R|<local>/data|"];
8 [label="Exit property" 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];
9 [label="Enter function <init>" style="filled" fillcolor=red];
10 [label="Delegated constructor call: super<R|Base|>()" style="filled" fillcolor=yellow];
11 [label="Exit function <init>" style="filled" fillcolor=red];
}
12 [label="Exit class Sub" style="filled" fillcolor=red];
}