[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,20 +8,20 @@ digraph booleanOperators_kt {
0 [label="Enter class A" style="filled" fillcolor=red];
1 [label="Exit class A" style="filled" fillcolor=red];
}
subgraph cluster_1 {
color=blue
2 [label="Enter function bool" style="filled" fillcolor=red];
3 [label="Exit function bool" style="filled" fillcolor=red];
}
subgraph cluster_2 {
color=blue
4 [label="Enter function foo" style="filled" fillcolor=red];
5 [label="Exit function foo" style="filled" fillcolor=red];
}
0 -> {1} [color=green];
1 -> {2 4} [color=green];
1 -> {2 4} [style=dashed];
subgraph cluster_1 {
color=red
2 [label="Enter function foo" style="filled" fillcolor=red];
3 [label="Exit function foo" style="filled" fillcolor=red];
}
2 -> {3};
subgraph cluster_2 {
color=red
4 [label="Enter function bool" style="filled" fillcolor=red];
5 [label="Exit function bool" style="filled" fillcolor=red];
}
4 -> {5};
subgraph cluster_3 {
@@ -29,14 +29,13 @@ digraph booleanOperators_kt {
6 [label="Enter class B" style="filled" fillcolor=red];
7 [label="Exit class B" style="filled" fillcolor=red];
}
6 -> {7} [color=green];
subgraph cluster_4 {
color=blue
color=red
8 [label="Enter function bar" style="filled" fillcolor=red];
9 [label="Exit function bar" style="filled" fillcolor=red];
}
6 -> {7} [color=green];
7 -> {8} [color=green];
7 -> {8} [style=dashed];
8 -> {9};
subgraph cluster_5 {
@@ -44,14 +43,13 @@ digraph booleanOperators_kt {
10 [label="Enter class C" style="filled" fillcolor=red];
11 [label="Exit class C" style="filled" fillcolor=red];
}
10 -> {11} [color=green];
subgraph cluster_6 {
color=blue
color=red
12 [label="Enter function baz" style="filled" fillcolor=red];
13 [label="Exit function baz" style="filled" fillcolor=red];
}
10 -> {11} [color=green];
11 -> {12} [color=green];
11 -> {12} [style=dashed];
12 -> {13};
subgraph cluster_7 {
@@ -8,14 +8,13 @@ digraph equalsToBoolean_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 jumpFromRhsOfOperator_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 {