[FIR] CFG: drop redundant edges

Edges from class to its functions and nested classes are redundant
and lead to extra resolution work in lazy resolve mode

^KT-59600 Fixed
This commit is contained in:
Dmitrii Gridin
2023-06-23 18:05:09 +02:00
committed by Space Team
parent df28bd1d79
commit 09ca335b7e
53 changed files with 931 additions and 763 deletions
@@ -8,14 +8,13 @@ digraph elvis_kt {
0 [label="Enter class A" style="filled" fillcolor=red];
1 [label="Exit class A" style="filled" fillcolor=red];
}
0 -> {1} [color=green];
subgraph cluster_1 {
color=blue
color=red
2 [label="Enter function foo" style="filled" fillcolor=red];
3 [label="Exit function foo" style="filled" fillcolor=red];
}
0 -> {1} [color=green];
1 -> {2} [color=green];
1 -> {2} [style=dashed];
2 -> {3};
subgraph cluster_2 {
@@ -157,14 +157,13 @@ digraph returns_kt {
53 [label="Enter class A" style="filled" fillcolor=red];
54 [label="Exit class A" style="filled" fillcolor=red];
}
53 -> {54} [color=green];
subgraph cluster_15 {
color=blue
color=red
55 [label="Enter function foo" style="filled" fillcolor=red];
56 [label="Exit function foo" style="filled" fillcolor=red];
}
53 -> {54} [color=green];
54 -> {55} [color=green];
54 -> {55} [style=dashed];
55 -> {56};
subgraph cluster_16 {
@@ -172,14 +171,13 @@ digraph returns_kt {
57 [label="Enter class B" style="filled" fillcolor=red];
58 [label="Exit class B" style="filled" fillcolor=red];
}
57 -> {58} [color=green];
subgraph cluster_17 {
color=blue
color=red
59 [label="Enter function bar" style="filled" fillcolor=red];
60 [label="Exit function bar" style="filled" fillcolor=red];
}
57 -> {58} [color=green];
58 -> {59} [color=green];
58 -> {59} [style=dashed];
59 -> {60};
subgraph cluster_18 {
@@ -187,14 +185,13 @@ digraph returns_kt {
61 [label="Enter class C" style="filled" fillcolor=red];
62 [label="Exit class C" style="filled" fillcolor=red];
}
61 -> {62} [color=green];
subgraph cluster_19 {
color=blue
color=red
63 [label="Enter function baz" style="filled" fillcolor=red];
64 [label="Exit function baz" style="filled" fillcolor=red];
}
61 -> {62} [color=green];
62 -> {63} [color=green];
62 -> {63} [style=dashed];
63 -> {64};
subgraph cluster_20 {
@@ -8,14 +8,13 @@ digraph smartcastFromArgument_kt {
0 [label="Enter class A" style="filled" fillcolor=red];
1 [label="Exit class A" style="filled" fillcolor=red];
}
0 -> {1} [color=green];
subgraph cluster_1 {
color=blue
color=red
2 [label="Enter function foo" style="filled" fillcolor=red];
3 [label="Exit function foo" style="filled" fillcolor=red];
}
0 -> {1} [color=green];
1 -> {2} [color=green];
1 -> {2} [style=dashed];
2 -> {3};
subgraph cluster_2 {
@@ -8,14 +8,13 @@ digraph when_kt {
0 [label="Enter class A" style="filled" fillcolor=red];
1 [label="Exit class A" style="filled" fillcolor=red];
}
0 -> {1} [color=green];
subgraph cluster_1 {
color=blue
color=red
2 [label="Enter function foo" style="filled" fillcolor=red];
3 [label="Exit function foo" style="filled" fillcolor=red];
}
0 -> {1} [color=green];
1 -> {2} [color=green];
1 -> {2} [style=dashed];
2 -> {3};
subgraph cluster_2 {
@@ -23,14 +22,13 @@ digraph when_kt {
4 [label="Enter class B" style="filled" fillcolor=red];
5 [label="Exit class B" style="filled" fillcolor=red];
}
4 -> {5} [color=green];
subgraph cluster_3 {
color=blue
color=red
6 [label="Enter function bar" style="filled" fillcolor=red];
7 [label="Exit function bar" style="filled" fillcolor=red];
}
4 -> {5} [color=green];
5 -> {6} [color=green];
5 -> {6} [style=dashed];
6 -> {7};
subgraph cluster_4 {