FIR CFG: correct edge label from a node that returns Nothing

If it's not within a try/catch/finally, that should be an uncaught
exception path.

^KT-45327 Fixed
This commit is contained in:
Jinseong Jeon
2021-03-07 00:15:31 -08:00
committed by Dmitriy Novozhilov
parent d8fb54c6bd
commit 6427117a35
12 changed files with 34 additions and 40 deletions
@@ -51,7 +51,7 @@ digraph jumpFromRhsOfOperator_kt {
10 -> {15 11};
11 -> {12};
12 -> {13};
13 -> {19};
13 -> {19} [label=onUncaughtException];
13 -> {14} [style=dotted];
14 -> {15} [style=dotted];
15 -> {16};
@@ -93,7 +93,7 @@ digraph jumpFromRhsOfOperator_kt {
26 -> {31 27};
27 -> {28};
28 -> {29};
29 -> {35};
29 -> {35} [label=onUncaughtException];
29 -> {30} [style=dotted];
30 -> {31} [style=dotted];
31 -> {32};
@@ -157,7 +157,7 @@ digraph jumpFromRhsOfOperator_kt {
44 -> {49 45};
45 -> {46};
46 -> {47};
47 -> {62};
47 -> {62} [label=onUncaughtException];
47 -> {48} [style=dotted];
48 -> {49} [style=dotted];
49 -> {50};
@@ -230,7 +230,7 @@ digraph jumpFromRhsOfOperator_kt {
71 -> {76 72};
72 -> {73};
73 -> {74};
74 -> {89};
74 -> {89} [label=onUncaughtException];
74 -> {75} [style=dotted];
75 -> {76} [style=dotted];
76 -> {77};
@@ -281,7 +281,7 @@ digraph jumpFromRhsOfOperator_kt {
96 -> {101 97};
97 -> {98};
98 -> {99};
99 -> {105};
99 -> {105} [label=onUncaughtException];
99 -> {100} [style=dotted];
100 -> {101} [style=dotted];
101 -> {102};
@@ -323,7 +323,7 @@ digraph jumpFromRhsOfOperator_kt {
112 -> {117 113};
113 -> {114};
114 -> {115};
115 -> {121};
115 -> {121} [label=onUncaughtException];
115 -> {116} [style=dotted];
116 -> {117} [style=dotted];
117 -> {118};
@@ -387,7 +387,7 @@ digraph jumpFromRhsOfOperator_kt {
130 -> {135 131};
131 -> {132};
132 -> {133};
133 -> {148};
133 -> {148} [label=onUncaughtException];
133 -> {134} [style=dotted];
134 -> {135} [style=dotted];
135 -> {136};
@@ -460,7 +460,7 @@ digraph jumpFromRhsOfOperator_kt {
157 -> {162 158};
158 -> {159};
159 -> {160};
160 -> {175};
160 -> {175} [label=onUncaughtException];
160 -> {161} [style=dotted];
161 -> {162} [style=dotted];
162 -> {163};
@@ -286,7 +286,8 @@ digraph safeCalls_kt {
92 -> {107} [style=dashed];
93 -> {95} [style=dotted];
94 -> {95} [style=dotted];
95 -> {106 96} [style=dotted];
95 -> {96} [style=dotted];
95 -> {106} [style=dotted] [label=onUncaughtException];
96 -> {97} [style=dotted];
97 -> {98 102};
98 -> {99};
@@ -40,7 +40,7 @@ digraph smartCastInInit_kt {
}
6 -> {7};
7 -> {8};
8 -> {13};
8 -> {13} [label=onUncaughtException];
8 -> {9} [style=dotted];
9 -> {10} [style=dotted];
10 -> {13 11} [style=dotted];
@@ -21,7 +21,7 @@ digraph smartcastToNothing_kt {
0 -> {1};
1 -> {2};
2 -> {3};
3 -> {8};
3 -> {8} [label=onUncaughtException];
3 -> {4} [style=dotted];
4 -> {5} [style=dotted];
5 -> {8 6} [style=dotted];
@@ -273,16 +273,18 @@ digraph smartcastToNothing_kt {
67 -> {68};
68 -> {69};
69 -> {70};
70 -> {101};
70 -> {101} [label=onUncaughtException];
70 -> {71} [style=dotted];
71 -> {72} [style=dotted];
72 -> {73} [style=dotted];
73 -> {101 74} [style=dotted];
73 -> {74} [style=dotted];
73 -> {101} [style=dotted] [label=onUncaughtException];
74 -> {75} [style=dotted];
75 -> {76} [style=dotted];
76 -> {77} [style=dotted];
77 -> {78} [style=dotted];
78 -> {101 79} [style=dotted];
78 -> {79} [style=dotted];
78 -> {101} [style=dotted] [label=onUncaughtException];
79 -> {80} [style=dotted];
80 -> {81} [style=dotted];
81 -> {83 82} [style=dotted];