Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/cfg/inplaceLambdaInControlFlowExpressions.dot
Brian Norman b2041e0927 [FIR] Disable data flow from in-place lambdas
There are many complications with the current design of passing data
from within in-place lambdas to surrounding code. Solving these
complications will involve more time to investigation than is available
within the K2 release. So we are disabling passing type statement
information from lambdas for the time being until more time can be
devoted to a more complete solution.

^KT-60958 Fixed
^KT-63530 Fixed
2023-12-14 16:40:27 +00:00

291 lines
11 KiB
Plaintext
Vendored

digraph inplaceLambdaInControlFlowExpressions_kt {
graph [nodesep=3]
node [shape=box penwidth=2]
edge [penwidth=2]
subgraph cluster_0 {
color=red
0 [label="Enter file inplaceLambdaInControlFlowExpressions.kt" style="filled" fillcolor=red];
1 [label="Exit file inplaceLambdaInControlFlowExpressions.kt" style="filled" fillcolor=red];
}
0 -> {1} [color=green];
subgraph cluster_1 {
color=red
2 [label="Enter function materialize" style="filled" fillcolor=red];
subgraph cluster_2 {
color=blue
3 [label="Enter block"];
4 [label="Const: Null(null)"];
5 [label="Check not null: Null(null)!!" style="filled" fillcolor=yellow];
6 [label="Stub" style="filled" fillcolor=gray];
7 [label="Jump: ^materialize Null(null)!!" style="filled" fillcolor=gray];
8 [label="Stub" style="filled" fillcolor=gray];
9 [label="Exit block" style="filled" fillcolor=gray];
}
10 [label="Exit function materialize" style="filled" fillcolor=gray];
}
2 -> {3};
3 -> {4};
4 -> {5};
5 -> {6} [style=dotted];
6 -> {7} [style=dotted];
7 -> {8 10} [style=dotted];
8 -> {9} [style=dotted];
9 -> {10} [style=dotted];
subgraph cluster_3 {
color=red
11 [label="Enter function test_1" style="filled" fillcolor=red];
subgraph cluster_4 {
color=blue
12 [label="Enter block"];
subgraph cluster_5 {
color=blue
13 [label="Enter when"];
subgraph cluster_6 {
color=blue
14 [label="Enter when branch condition "];
15 [label="Const: Boolean(true)"];
16 [label="Exit when branch condition"];
}
subgraph cluster_7 {
color=blue
17 [label="Enter when branch condition else"];
18 [label="Exit when branch condition"];
}
19 [label="Enter when branch result"];
subgraph cluster_8 {
color=blue
20 [label="Enter block"];
21 [label="Const: String()"];
22 [label="Exit block"];
}
23 [label="Exit when branch result"];
24 [label="Enter when branch result"];
subgraph cluster_9 {
color=blue
25 [label="Enter block"];
subgraph cluster_10 {
color=blue
26 [label="Function call arguments enter"];
27 [label="Postponed enter to lambda"];
subgraph cluster_11 {
color=blue
28 [label="Enter function <anonymous>" style="filled" fillcolor=red];
subgraph cluster_12 {
color=blue
29 [label="Enter block"];
subgraph cluster_13 {
color=blue
30 [label="Function call arguments enter"];
31 [label="Function call arguments exit"];
}
32 [label="Function call: R|/materialize|<R|kotlin/String|>()" style="filled" fillcolor=yellow];
33 [label="Exit block"];
}
34 [label="Exit function <anonymous>" style="filled" fillcolor=red];
}
35 [label="Function call arguments exit"];
}
36 [label="Postponed exit from lambda"];
37 [label="Function call: R|kotlin/run|<R|kotlin/String|>(...)" style="filled" fillcolor=yellow];
38 [label="Exit block"];
}
39 [label="Exit when branch result"];
40 [label="Exit when"];
}
41 [label="Variable declaration: lval x: R|kotlin/String|"];
42 [label="Exit block"];
}
43 [label="Exit function test_1" style="filled" fillcolor=red];
}
11 -> {12};
12 -> {13};
13 -> {14};
14 -> {15};
15 -> {16};
16 -> {17 24};
17 -> {18};
18 -> {19};
19 -> {20};
20 -> {21};
21 -> {22};
22 -> {23};
23 -> {40};
24 -> {25};
25 -> {26};
26 -> {27};
27 -> {28 35};
27 -> {36} [style=dotted];
27 -> {28} [style=dashed];
28 -> {29};
29 -> {30};
30 -> {31};
31 -> {32};
32 -> {33};
33 -> {34};
34 -> {36};
35 -> {37};
36 -> {37} [color=green];
36 -> {40} [color=red label="Postponed"];
37 -> {38};
38 -> {39};
39 -> {40};
40 -> {41};
41 -> {42};
42 -> {43};
subgraph cluster_14 {
color=red
44 [label="Enter function test_2" style="filled" fillcolor=red];
subgraph cluster_15 {
color=blue
45 [label="Enter block"];
subgraph cluster_16 {
color=blue
46 [label="Try expression enter"];
subgraph cluster_17 {
color=blue
47 [label="Try main block enter"];
subgraph cluster_18 {
color=blue
48 [label="Enter block"];
subgraph cluster_19 {
color=blue
49 [label="Function call arguments enter"];
50 [label="Postponed enter to lambda"];
subgraph cluster_20 {
color=blue
51 [label="Enter function <anonymous>" style="filled" fillcolor=red];
subgraph cluster_21 {
color=blue
52 [label="Enter block"];
subgraph cluster_22 {
color=blue
53 [label="Function call arguments enter"];
54 [label="Function call arguments exit"];
}
55 [label="Function call: R|/materialize|<R|kotlin/String|>()" style="filled" fillcolor=yellow];
56 [label="Exit block"];
}
57 [label="Exit function <anonymous>" style="filled" fillcolor=red];
}
58 [label="Function call arguments exit"];
}
59 [label="Postponed exit from lambda"];
60 [label="Function call: R|kotlin/run|<R|kotlin/String|>(...)" style="filled" fillcolor=yellow];
61 [label="Exit block"];
}
62 [label="Try main block exit"];
}
subgraph cluster_23 {
color=blue
63 [label="Catch enter"];
64 [label="Variable declaration: e: R|kotlin/Exception|"];
subgraph cluster_24 {
color=blue
65 [label="Enter block"];
66 [label="Const: String()"];
67 [label="Exit block"];
}
68 [label="Catch exit"];
}
69 [label="Try expression exit"];
}
70 [label="Variable declaration: lval x: R|kotlin/String|"];
71 [label="Exit block"];
}
72 [label="Exit function test_2" style="filled" fillcolor=red];
}
44 -> {45};
45 -> {46};
46 -> {47 63};
47 -> {48};
48 -> {49};
49 -> {50};
50 -> {51 58};
50 -> {59} [style=dotted];
50 -> {51} [style=dashed];
51 -> {52};
52 -> {53};
53 -> {54};
54 -> {55};
55 -> {56};
56 -> {57};
57 -> {59};
58 -> {60};
59 -> {60} [color=green];
59 -> {69} [color=red label="Postponed"];
60 -> {61};
61 -> {62};
62 -> {63 69};
63 -> {64};
64 -> {65};
65 -> {66};
66 -> {67};
67 -> {68};
68 -> {69};
69 -> {70};
70 -> {71};
71 -> {72};
subgraph cluster_25 {
color=red
73 [label="Enter function test_3" style="filled" fillcolor=red];
subgraph cluster_26 {
color=blue
74 [label="Enter block"];
subgraph cluster_27 {
color=blue
75 [label="Function call arguments enter"];
76 [label="Postponed enter to lambda"];
subgraph cluster_28 {
color=blue
77 [label="Enter function <anonymous>" style="filled" fillcolor=red];
subgraph cluster_29 {
color=blue
78 [label="Enter block"];
subgraph cluster_30 {
color=blue
79 [label="Function call arguments enter"];
80 [label="Function call arguments exit"];
}
81 [label="Function call: R|/materialize|<R|kotlin/String?|>()" style="filled" fillcolor=yellow];
82 [label="Exit block"];
}
83 [label="Exit function <anonymous>" style="filled" fillcolor=red];
}
84 [label="Function call arguments exit"];
}
85 [label="Postponed exit from lambda"];
86 [label="Function call: R|kotlin/run|<R|kotlin/String?|>(...)" style="filled" fillcolor=yellow];
87 [label="Check not null: R|kotlin/run|<R|kotlin/String?|>(...)!!" style="filled" fillcolor=yellow];
88 [label="Variable declaration: lval x: R|kotlin/String|"];
89 [label="Exit block"];
}
90 [label="Exit function test_3" style="filled" fillcolor=red];
}
73 -> {74};
74 -> {75};
75 -> {76};
76 -> {77 84};
76 -> {85} [style=dotted];
76 -> {77} [style=dashed];
77 -> {78};
78 -> {79};
79 -> {80};
80 -> {81};
81 -> {82};
82 -> {83};
83 -> {85};
84 -> {86};
85 -> {86} [color=green];
85 -> {87} [color=red label="Postponed"];
86 -> {87};
87 -> {88};
88 -> {89};
89 -> {90};
}