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
@@ -84,7 +84,7 @@ digraph initBlock_kt {
20 -> {21};
21 -> {22};
22 -> {23};
23 -> {28};
23 -> {28} [label=onUncaughtException];
23 -> {24} [style=dotted];
24 -> {25} [style=dotted];
25 -> {26} [style=dotted];
+1 -1
View File
@@ -72,7 +72,7 @@ digraph jumps_kt {
15 -> {16};
16 -> {17};
17 -> {18};
18 -> {29};
18 -> {29} [label=onUncaughtException];
18 -> {19} [style=dotted];
19 -> {20} [style=dotted];
20 -> {21} [style=dotted];
@@ -63,7 +63,7 @@ digraph lambdaReturningObject_kt {
}
13 -> {14};
14 -> {15};
15 -> {20};
15 -> {20} [label=onUncaughtException];
15 -> {16} [style=dotted];
16 -> {17} [style=dotted];
17 -> {20 18} [style=dotted];
@@ -107,7 +107,7 @@ digraph propertiesAndInitBlocks_kt {
41 -> {42};
42 -> {43};
43 -> {44};
44 -> {47};
44 -> {47} [label=onUncaughtException];
44 -> {45} [style=dotted];
45 -> {46} [style=dotted];
46 -> {47} [style=dotted];
@@ -138,7 +138,7 @@ digraph propertiesAndInitBlocks_kt {
51 -> {52};
52 -> {53};
53 -> {54};
54 -> {58};
54 -> {58} [label=onUncaughtException];
54 -> {55} [style=dotted];
55 -> {56} [style=dotted];
56 -> {57} [style=dotted];
@@ -199,7 +199,7 @@ digraph propertiesAndInitBlocks_kt {
70 -> {71};
71 -> {72};
72 -> {73};
73 -> {76};
73 -> {76} [label=onUncaughtException];
73 -> {74} [style=dotted];
74 -> {75} [style=dotted];
75 -> {76} [style=dotted];
@@ -246,7 +246,7 @@ digraph propertiesAndInitBlocks_kt {
28 -> {48 34} [color=green];
28 -> {48 34} [style=dashed];
29 -> {30};
30 -> {81};
30 -> {81} [label=onUncaughtException];
30 -> {31} [style=dotted];
31 -> {32} [style=dotted];
32 -> {33} [style=dotted];
@@ -204,7 +204,8 @@ digraph returnValuesFromLambda_kt {
57 -> {65} [style=dashed];
58 -> {60} [style=dotted];
59 -> {60} [style=dotted];
60 -> {64 61} [style=dotted];
60 -> {61} [style=dotted];
60 -> {64} [style=dotted] [label=onUncaughtException];
61 -> {62} [style=dotted];
62 -> {63} [style=dotted];
63 -> {64} [style=dotted];