Files
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

918 lines
34 KiB
Plaintext
Vendored

digraph flowFromTwoInplaceLambdas_kt {
graph [nodesep=3]
node [shape=box penwidth=2]
edge [penwidth=2]
subgraph cluster_0 {
color=red
0 [label="Enter file flowFromTwoInplaceLambdas.kt" style="filled" fillcolor=red];
1 [label="Exit file flowFromTwoInplaceLambdas.kt" style="filled" fillcolor=red];
}
0 -> {1} [color=green];
subgraph cluster_1 {
color=red
2 [label="Enter function n" style="filled" fillcolor=red];
subgraph cluster_2 {
color=blue
3 [label="Enter block"];
4 [label="Const: Null(null)"];
5 [label="Jump: ^n Null(null)"];
6 [label="Stub" style="filled" fillcolor=gray];
7 [label="Exit block" style="filled" fillcolor=gray];
}
8 [label="Exit function n" style="filled" fillcolor=red];
}
2 -> {3};
3 -> {4};
4 -> {5};
5 -> {8};
5 -> {6} [style=dotted];
6 -> {7} [style=dotted];
7 -> {8} [style=dotted];
subgraph cluster_3 {
color=red
9 [label="Enter function run2" style="filled" fillcolor=red];
subgraph cluster_4 {
color=blue
10 [label="Enter block"];
subgraph cluster_5 {
color=blue
11 [label="Enter block"];
12 [label="Exit block"];
}
subgraph cluster_6 {
color=blue
13 [label="Function call arguments enter"];
14 [label="Function call arguments exit"];
}
15 [label="Function call: R|<local>/x|.R|SubstitutionOverride<kotlin/Function0.invoke: R|T|>|()" style="filled" fillcolor=yellow];
subgraph cluster_7 {
color=blue
16 [label="Function call arguments enter"];
17 [label="Function call arguments exit"];
}
18 [label="Function call: R|<local>/y|.R|SubstitutionOverride<kotlin/Function0.invoke: R|T|>|()" style="filled" fillcolor=yellow];
19 [label="Exit block"];
}
20 [label="Exit function run2" style="filled" fillcolor=red];
}
9 -> {10};
10 -> {11};
11 -> {12};
12 -> {13};
13 -> {14};
14 -> {15};
15 -> {16};
16 -> {17};
17 -> {18};
18 -> {19};
19 -> {20};
subgraph cluster_8 {
color=red
21 [label="Enter function test1" style="filled" fillcolor=red];
subgraph cluster_9 {
color=blue
22 [label="Enter block"];
23 [label="Access variable R|<local>/x|"];
24 [label="Variable declaration: lvar p: R|kotlin/String?|"];
subgraph cluster_10 {
color=blue
25 [label="Enter when"];
subgraph cluster_11 {
color=blue
26 [label="Enter when branch condition "];
27 [label="Access variable R|<local>/p|"];
28 [label="Const: Null(null)"];
29 [label="Equality operator !="];
30 [label="Exit when branch condition"];
}
31 [label="Synthetic else branch"];
32 [label="Enter when branch result"];
subgraph cluster_12 {
color=blue
33 [label="Enter block"];
subgraph cluster_13 {
color=blue
34 [label="Function call arguments enter"];
35 [label="Postponed enter to lambda"];
subgraph cluster_14 {
color=blue
36 [label="Enter function <anonymous>" style="filled" fillcolor=red];
subgraph cluster_15 {
color=blue
37 [label="Enter block"];
38 [label="Access variable R|<local>/p|"];
39 [label="Smart cast: R|<local>/p|"];
40 [label="Access variable R|kotlin/String.length<Inapplicable(UNSTABLE_SMARTCAST): kotlin/String.length>#|"];
41 [label="Const: Int(123)"];
42 [label="Exit block"];
}
43 [label="Exit function <anonymous>" style="filled" fillcolor=red];
}
subgraph cluster_16 {
color=blue
44 [label="Enter function <anonymous>" style="filled" fillcolor=red];
subgraph cluster_17 {
color=blue
45 [label="Enter block"];
46 [label="Const: Null(null)"];
47 [label="Assignment: R|<local>/p|"];
subgraph cluster_18 {
color=blue
48 [label="Function call arguments enter"];
49 [label="Function call arguments exit"];
}
50 [label="Function call: R|/n|<R|kotlin/Int?|>()" style="filled" fillcolor=yellow];
51 [label="Exit block"];
}
52 [label="Exit function <anonymous>" style="filled" fillcolor=red];
}
53 [label="Function call arguments exit"];
}
54 [label="Postponed exit from lambda"];
55 [label="Postponed exit from lambda"];
56 [label="Function call: R|/run2|<R|kotlin/Int?|>(...)" style="filled" fillcolor=yellow];
57 [label="Access variable R|<local>/p|"];
58 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
59 [label="Exit block"];
}
60 [label="Exit when branch result"];
61 [label="Exit when"];
}
62 [label="Exit block"];
}
63 [label="Exit function test1" style="filled" fillcolor=red];
}
21 -> {22};
22 -> {23};
23 -> {24};
24 -> {25};
25 -> {26};
26 -> {27};
27 -> {28};
28 -> {29};
29 -> {30};
30 -> {31 32};
31 -> {61};
32 -> {33};
33 -> {34};
34 -> {35};
35 -> {36 44 53};
35 -> {54 55} [style=dotted];
35 -> {36 44} [style=dashed];
36 -> {37};
37 -> {38};
38 -> {39};
39 -> {40};
40 -> {41};
41 -> {42};
42 -> {43};
43 -> {54};
44 -> {45};
45 -> {46};
46 -> {47};
47 -> {48};
48 -> {49};
49 -> {50};
50 -> {51};
51 -> {52};
52 -> {55};
53 -> {56};
54 -> {56} [label="Postponed"];
55 -> {56} [label="Postponed"];
56 -> {57};
57 -> {58};
58 -> {59};
59 -> {60};
60 -> {61};
61 -> {62};
62 -> {63};
subgraph cluster_19 {
color=red
64 [label="Enter function test1_tail" style="filled" fillcolor=red];
subgraph cluster_20 {
color=blue
65 [label="Enter block"];
66 [label="Access variable R|<local>/x|"];
67 [label="Variable declaration: lvar p: R|kotlin/String?|"];
subgraph cluster_21 {
color=blue
68 [label="Enter when"];
subgraph cluster_22 {
color=blue
69 [label="Enter when branch condition "];
70 [label="Access variable R|<local>/p|"];
71 [label="Const: Null(null)"];
72 [label="Equality operator !="];
73 [label="Exit when branch condition"];
}
74 [label="Synthetic else branch"];
75 [label="Enter when branch result"];
subgraph cluster_23 {
color=blue
76 [label="Enter block"];
subgraph cluster_24 {
color=blue
77 [label="Function call arguments enter"];
78 [label="Postponed enter to lambda"];
subgraph cluster_25 {
color=blue
79 [label="Enter function <anonymous>" style="filled" fillcolor=red];
subgraph cluster_26 {
color=blue
80 [label="Enter block"];
81 [label="Access variable R|<local>/p|"];
82 [label="Smart cast: R|<local>/p|"];
83 [label="Access variable R|kotlin/String.length<Inapplicable(UNSTABLE_SMARTCAST): kotlin/String.length>#|"];
84 [label="Const: Int(123)"];
85 [label="Exit block"];
}
86 [label="Exit function <anonymous>" style="filled" fillcolor=red];
}
subgraph cluster_27 {
color=blue
87 [label="Enter function <anonymous>" style="filled" fillcolor=red];
subgraph cluster_28 {
color=blue
88 [label="Enter block"];
89 [label="Const: Null(null)"];
90 [label="Assignment: R|<local>/p|"];
subgraph cluster_29 {
color=blue
91 [label="Function call arguments enter"];
92 [label="Function call arguments exit"];
}
93 [label="Function call: R|/n|<R|kotlin/Int?|>()" style="filled" fillcolor=yellow];
94 [label="Exit block"];
}
95 [label="Exit function <anonymous>" style="filled" fillcolor=red];
}
96 [label="Function call arguments exit"];
}
97 [label="Postponed exit from lambda"];
98 [label="Postponed exit from lambda"];
99 [label="Function call: R|/run2|<R|kotlin/Int?|>(...)" style="filled" fillcolor=yellow];
100 [label="Access variable R|<local>/p|"];
101 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
102 [label="Exit block"];
}
103 [label="Exit when branch result"];
104 [label="Exit when"];
}
105 [label="Exit block"];
}
106 [label="Exit function test1_tail" style="filled" fillcolor=red];
}
64 -> {65};
65 -> {66};
66 -> {67};
67 -> {68};
68 -> {69};
69 -> {70};
70 -> {71};
71 -> {72};
72 -> {73};
73 -> {74 75};
74 -> {104};
75 -> {76};
76 -> {77};
77 -> {78};
78 -> {79 87 96};
78 -> {97 98} [style=dotted];
78 -> {79 87} [style=dashed];
79 -> {80};
80 -> {81};
81 -> {82};
82 -> {83};
83 -> {84};
84 -> {85};
85 -> {86};
86 -> {97};
87 -> {88};
88 -> {89};
89 -> {90};
90 -> {91};
91 -> {92};
92 -> {93};
93 -> {94};
94 -> {95};
95 -> {98};
96 -> {99};
97 -> {99} [label="Postponed"];
98 -> {99} [label="Postponed"];
99 -> {100};
100 -> {101};
101 -> {102};
102 -> {103};
103 -> {104};
104 -> {105};
105 -> {106};
subgraph cluster_30 {
color=red
107 [label="Enter function test2" style="filled" fillcolor=red];
subgraph cluster_31 {
color=blue
108 [label="Enter block"];
109 [label="Access variable R|<local>/x|"];
110 [label="Variable declaration: lvar p: R|kotlin/Any?|"];
111 [label="Access variable R|<local>/p|"];
112 [label="Access variable <Unresolved name: length>#"];
subgraph cluster_32 {
color=blue
113 [label="Function call arguments enter"];
114 [label="Postponed enter to lambda"];
subgraph cluster_33 {
color=blue
115 [label="Enter function <anonymous>" style="filled" fillcolor=red];
subgraph cluster_34 {
color=blue
116 [label="Enter block"];
117 [label="Access variable R|<local>/p|"];
118 [label="Type operator: (R|<local>/p| as R|kotlin/String|)"];
119 [label="Const: Int(123)"];
120 [label="Exit block"];
}
121 [label="Exit function <anonymous>" style="filled" fillcolor=red];
}
subgraph cluster_35 {
color=blue
122 [label="Enter function <anonymous>" style="filled" fillcolor=red];
subgraph cluster_36 {
color=blue
123 [label="Enter block"];
124 [label="Const: Null(null)"];
125 [label="Assignment: R|<local>/p|"];
subgraph cluster_37 {
color=blue
126 [label="Function call arguments enter"];
127 [label="Function call arguments exit"];
}
128 [label="Function call: R|/n|<R|kotlin/Int?|>()" style="filled" fillcolor=yellow];
129 [label="Exit block"];
}
130 [label="Exit function <anonymous>" style="filled" fillcolor=red];
}
131 [label="Function call arguments exit"];
}
132 [label="Postponed exit from lambda"];
133 [label="Postponed exit from lambda"];
134 [label="Function call: R|/run2|<R|kotlin/Int?|>(...)" style="filled" fillcolor=yellow];
135 [label="Access variable R|<local>/p|"];
136 [label="Access variable <Unresolved name: length>#"];
137 [label="Access variable R|<local>/p|"];
138 [label="Enter safe call"];
139 [label="Access variable <Unresolved name: length>#"];
140 [label="Exit safe call"];
141 [label="Exit block"];
}
142 [label="Exit function test2" style="filled" fillcolor=red];
}
107 -> {108};
108 -> {109};
109 -> {110};
110 -> {111};
111 -> {112};
112 -> {113};
113 -> {114};
114 -> {115 122 131};
114 -> {132 133} [style=dotted];
114 -> {115 122} [style=dashed];
115 -> {116};
116 -> {117};
117 -> {118};
118 -> {119};
119 -> {120};
120 -> {121};
121 -> {132};
122 -> {123};
123 -> {124};
124 -> {125};
125 -> {126};
126 -> {127};
127 -> {128};
128 -> {129};
129 -> {130};
130 -> {133};
131 -> {134};
132 -> {134} [label="Postponed"];
133 -> {134} [label="Postponed"];
134 -> {135};
135 -> {136};
136 -> {137};
137 -> {138 140};
138 -> {139};
139 -> {140};
140 -> {141};
141 -> {142};
subgraph cluster_38 {
color=red
143 [label="Enter function test3" style="filled" fillcolor=red];
subgraph cluster_39 {
color=blue
144 [label="Enter block"];
145 [label="Access variable R|<local>/x|"];
146 [label="Variable declaration: lvar p: R|kotlin/Any?|"];
147 [label="Access variable R|<local>/p|"];
148 [label="Access variable <Unresolved name: length>#"];
subgraph cluster_40 {
color=blue
149 [label="Function call arguments enter"];
150 [label="Postponed enter to lambda"];
subgraph cluster_41 {
color=blue
151 [label="Enter function <anonymous>" style="filled" fillcolor=red];
subgraph cluster_42 {
color=blue
152 [label="Enter block"];
153 [label="Const: String()"];
154 [label="Assignment: R|<local>/p|"];
155 [label="Const: Int(123)"];
156 [label="Exit block"];
}
157 [label="Exit function <anonymous>" style="filled" fillcolor=red];
}
subgraph cluster_43 {
color=blue
158 [label="Enter function <anonymous>" style="filled" fillcolor=red];
subgraph cluster_44 {
color=blue
159 [label="Enter block"];
160 [label="Const: Null(null)"];
161 [label="Assignment: R|<local>/p|"];
subgraph cluster_45 {
color=blue
162 [label="Function call arguments enter"];
163 [label="Function call arguments exit"];
}
164 [label="Function call: R|/n|<R|kotlin/Int?|>()" style="filled" fillcolor=yellow];
165 [label="Exit block"];
}
166 [label="Exit function <anonymous>" style="filled" fillcolor=red];
}
167 [label="Function call arguments exit"];
}
168 [label="Postponed exit from lambda"];
169 [label="Postponed exit from lambda"];
170 [label="Function call: R|/run2|<R|kotlin/Int?|>(...)" style="filled" fillcolor=yellow];
171 [label="Access variable R|<local>/p|"];
172 [label="Access variable <Unresolved name: length>#"];
173 [label="Access variable R|<local>/p|"];
174 [label="Enter safe call"];
175 [label="Access variable <Unresolved name: length>#"];
176 [label="Exit safe call"];
177 [label="Exit block"];
}
178 [label="Exit function test3" style="filled" fillcolor=red];
}
143 -> {144};
144 -> {145};
145 -> {146};
146 -> {147};
147 -> {148};
148 -> {149};
149 -> {150};
150 -> {151 158 167};
150 -> {168 169} [style=dotted];
150 -> {151 158} [style=dashed];
151 -> {152};
152 -> {153};
153 -> {154};
154 -> {155};
155 -> {156};
156 -> {157};
157 -> {168};
158 -> {159};
159 -> {160};
160 -> {161};
161 -> {162};
162 -> {163};
163 -> {164};
164 -> {165};
165 -> {166};
166 -> {169};
167 -> {170};
168 -> {170} [label="Postponed"];
169 -> {170} [label="Postponed"];
170 -> {171};
171 -> {172};
172 -> {173};
173 -> {174 176};
174 -> {175};
175 -> {176};
176 -> {177};
177 -> {178};
subgraph cluster_46 {
color=red
179 [label="Enter class I1" style="filled" fillcolor=red];
180 [label="Exit class I1" style="filled" fillcolor=red];
}
179 -> {180} [color=green];
subgraph cluster_47 {
color=red
181 [label="Enter class I2" style="filled" fillcolor=red];
182 [label="Exit class I2" style="filled" fillcolor=red];
}
181 -> {182} [color=green];
subgraph cluster_48 {
color=red
183 [label="Enter function test4" style="filled" fillcolor=red];
subgraph cluster_49 {
color=blue
184 [label="Enter block"];
185 [label="Access variable R|<local>/x|"];
186 [label="Access variable <Unresolved name: x>#"];
187 [label="Access variable R|<local>/x|"];
188 [label="Access variable <Unresolved name: y>#"];
subgraph cluster_50 {
color=blue
189 [label="Function call arguments enter"];
190 [label="Postponed enter to lambda"];
subgraph cluster_51 {
color=blue
191 [label="Enter function <anonymous>" style="filled" fillcolor=red];
subgraph cluster_52 {
color=blue
192 [label="Enter block"];
193 [label="Access variable R|<local>/x|"];
194 [label="Type operator: (R|<local>/x| as R|I2|)"];
195 [label="Access variable R|<local>/x|"];
196 [label="Smart cast: R|<local>/x|"];
197 [label="Access variable <Unresolved name: x>#"];
198 [label="Const: Int(123)"];
199 [label="Exit block"];
}
200 [label="Exit function <anonymous>" style="filled" fillcolor=red];
}
subgraph cluster_53 {
color=blue
201 [label="Enter function <anonymous>" style="filled" fillcolor=red];
subgraph cluster_54 {
color=blue
202 [label="Enter block"];
203 [label="Access variable R|<local>/x|"];
204 [label="Type operator: (R|<local>/x| as R|I1|)"];
205 [label="Access variable R|<local>/x|"];
206 [label="Smart cast: R|<local>/x|"];
207 [label="Access variable <Unresolved name: y>#"];
subgraph cluster_55 {
color=blue
208 [label="Function call arguments enter"];
209 [label="Function call arguments exit"];
}
210 [label="Function call: R|/n|<R|kotlin/Int?|>()" style="filled" fillcolor=yellow];
211 [label="Exit block"];
}
212 [label="Exit function <anonymous>" style="filled" fillcolor=red];
}
213 [label="Function call arguments exit"];
}
214 [label="Postponed exit from lambda"];
215 [label="Postponed exit from lambda"];
216 [label="Function call: R|/run2|<R|kotlin/Int?|>(...)" style="filled" fillcolor=yellow];
217 [label="Access variable R|<local>/x|"];
218 [label="Access variable <Unresolved name: x>#"];
219 [label="Access variable R|<local>/x|"];
220 [label="Access variable <Unresolved name: y>#"];
221 [label="Exit block"];
}
222 [label="Exit function test4" style="filled" fillcolor=red];
}
183 -> {184};
184 -> {185};
185 -> {186};
186 -> {187};
187 -> {188};
188 -> {189};
189 -> {190};
190 -> {191 201 213};
190 -> {214 215} [style=dotted];
190 -> {191 201} [style=dashed];
191 -> {192};
192 -> {193};
193 -> {194};
194 -> {195};
195 -> {196};
196 -> {197};
197 -> {198};
198 -> {199};
199 -> {200};
200 -> {214};
201 -> {202};
202 -> {203};
203 -> {204};
204 -> {205};
205 -> {206};
206 -> {207};
207 -> {208};
208 -> {209};
209 -> {210};
210 -> {211};
211 -> {212};
212 -> {215};
213 -> {216};
214 -> {216} [label="Postponed"];
215 -> {216} [label="Postponed"];
216 -> {217};
217 -> {218};
218 -> {219};
219 -> {220};
220 -> {221};
221 -> {222};
subgraph cluster_56 {
color=red
223 [label="Enter function test5" style="filled" fillcolor=red];
subgraph cluster_57 {
color=blue
224 [label="Enter block"];
225 [label="Access variable R|<local>/x|"];
226 [label="Variable declaration: lvar p: R|kotlin/Any?|"];
227 [label="Access variable R|<local>/p|"];
228 [label="Access variable <Unresolved name: length>#"];
subgraph cluster_58 {
color=blue
229 [label="Function call arguments enter"];
230 [label="Postponed enter to lambda"];
subgraph cluster_59 {
color=blue
231 [label="Enter function <anonymous>" style="filled" fillcolor=red];
subgraph cluster_60 {
color=blue
232 [label="Enter block"];
233 [label="Access variable R|<local>/q|"];
234 [label="Assignment: R|<local>/p|"];
subgraph cluster_61 {
color=blue
235 [label="Function call arguments enter"];
236 [label="Function call arguments exit"];
}
237 [label="Function call: R|/n|<R|kotlin/Int?|>()" style="filled" fillcolor=yellow];
238 [label="Exit block"];
}
239 [label="Exit function <anonymous>" style="filled" fillcolor=red];
}
subgraph cluster_62 {
color=blue
240 [label="Enter function <anonymous>" style="filled" fillcolor=red];
subgraph cluster_63 {
color=blue
241 [label="Enter block"];
242 [label="Access variable R|<local>/p|"];
243 [label="Type operator: (R|<local>/p| as R|kotlin/Int|)"];
244 [label="Const: Int(123)"];
245 [label="Exit block"];
}
246 [label="Exit function <anonymous>" style="filled" fillcolor=red];
}
247 [label="Function call arguments exit"];
}
248 [label="Postponed exit from lambda"];
249 [label="Postponed exit from lambda"];
250 [label="Function call: R|/run2|<R|kotlin/Int?|>(...)" style="filled" fillcolor=yellow];
251 [label="Access variable R|<local>/p|"];
252 [label="Access variable <Unresolved name: length>#"];
253 [label="Access variable R|<local>/p|"];
254 [label="Enter safe call"];
255 [label="Access variable <Unresolved name: length>#"];
256 [label="Exit safe call"];
257 [label="Exit block"];
}
258 [label="Exit function test5" style="filled" fillcolor=red];
}
223 -> {224};
224 -> {225};
225 -> {226};
226 -> {227};
227 -> {228};
228 -> {229};
229 -> {230};
230 -> {231 240 247};
230 -> {248 249} [style=dotted];
230 -> {231 240} [style=dashed];
231 -> {232};
232 -> {233};
233 -> {234};
234 -> {235};
235 -> {236};
236 -> {237};
237 -> {238};
238 -> {239};
239 -> {248};
240 -> {241};
241 -> {242};
242 -> {243};
243 -> {244};
244 -> {245};
245 -> {246};
246 -> {249};
247 -> {250};
248 -> {250} [label="Postponed"];
249 -> {250} [label="Postponed"];
250 -> {251};
251 -> {252};
252 -> {253};
253 -> {254 256};
254 -> {255};
255 -> {256};
256 -> {257};
257 -> {258};
subgraph cluster_64 {
color=red
259 [label="Enter function test6" style="filled" fillcolor=red];
subgraph cluster_65 {
color=blue
260 [label="Enter block"];
261 [label="Variable declaration: lval x: R|kotlin/String|"];
subgraph cluster_66 {
color=blue
262 [label="Function call arguments enter"];
263 [label="Postponed enter to lambda"];
subgraph cluster_67 {
color=blue
264 [label="Enter function <anonymous>" style="filled" fillcolor=red];
subgraph cluster_68 {
color=blue
265 [label="Enter block"];
266 [label="Access variable R|<local>/x|"];
267 [label="Access variable R|kotlin/String.length|"];
268 [label="Exit block"];
}
269 [label="Exit function <anonymous>" style="filled" fillcolor=red];
}
subgraph cluster_69 {
color=blue
270 [label="Enter function <anonymous>" style="filled" fillcolor=red];
subgraph cluster_70 {
color=blue
271 [label="Enter block"];
272 [label="Const: String()"];
273 [label="Assignment: R|<local>/x|"];
274 [label="Access variable R|<local>/x|"];
275 [label="Access variable R|kotlin/String.length|"];
276 [label="Exit block"];
}
277 [label="Exit function <anonymous>" style="filled" fillcolor=red];
}
278 [label="Function call arguments exit"];
}
279 [label="Postponed exit from lambda"];
280 [label="Postponed exit from lambda"];
281 [label="Function call: R|/run2|<R|kotlin/Int|>(...)" style="filled" fillcolor=yellow];
282 [label="Access variable R|<local>/x|"];
283 [label="Access variable R|kotlin/String.length|"];
284 [label="Exit block"];
}
285 [label="Exit function test6" style="filled" fillcolor=red];
}
259 -> {260};
260 -> {261};
261 -> {262};
262 -> {263};
263 -> {264 270 278};
263 -> {279 280} [style=dotted];
263 -> {264 270} [style=dashed];
264 -> {265};
265 -> {266};
266 -> {267};
267 -> {268};
268 -> {269};
269 -> {279};
270 -> {271};
271 -> {272};
272 -> {273};
273 -> {274};
274 -> {275};
275 -> {276};
276 -> {277};
277 -> {280};
278 -> {281};
279 -> {281} [label="Postponed"];
280 -> {281} [label="Postponed"];
281 -> {282};
282 -> {283};
283 -> {284};
284 -> {285};
subgraph cluster_71 {
color=red
286 [label="Enter function test7" style="filled" fillcolor=red];
subgraph cluster_72 {
color=blue
287 [label="Enter block"];
288 [label="Const: String()"];
289 [label="Variable declaration: lval x: R|kotlin/Any?|"];
290 [label="Variable declaration: lval y: R|kotlin/Any?|"];
subgraph cluster_73 {
color=blue
291 [label="Function call arguments enter"];
292 [label="Postponed enter to lambda"];
subgraph cluster_74 {
color=blue
293 [label="Enter function <anonymous>" style="filled" fillcolor=red];
subgraph cluster_75 {
color=blue
294 [label="Enter block"];
295 [label="Jump: ^@run2 Unit"];
296 [label="Stub" style="filled" fillcolor=gray];
297 [label="Exit block" style="filled" fillcolor=gray];
}
298 [label="Exit function <anonymous>" style="filled" fillcolor=red];
}
subgraph cluster_76 {
color=blue
299 [label="Enter function <anonymous>" style="filled" fillcolor=red];
subgraph cluster_77 {
color=blue
300 [label="Enter block"];
301 [label="Access variable R|<local>/x|"];
302 [label="Assignment: R|<local>/y|"];
303 [label="Exit block"];
}
304 [label="Exit function <anonymous>" style="filled" fillcolor=red];
}
305 [label="Function call arguments exit"];
}
306 [label="Postponed exit from lambda"];
307 [label="Postponed exit from lambda"];
308 [label="Function call: R|/run2|<R|kotlin/Unit|>(...)" style="filled" fillcolor=yellow];
subgraph cluster_78 {
color=blue
309 [label="Enter when"];
subgraph cluster_79 {
color=blue
310 [label="Enter when branch condition "];
311 [label="Access variable R|<local>/y|"];
312 [label="Type operator: (R|<local>/y| is R|kotlin/String|)"];
313 [label="Exit when branch condition"];
}
314 [label="Synthetic else branch"];
315 [label="Enter when branch result"];
subgraph cluster_80 {
color=blue
316 [label="Enter block"];
317 [label="Access variable R|<local>/x|"];
318 [label="Smart cast: R|<local>/x|"];
319 [label="Access variable R|kotlin/String.length|"];
320 [label="Exit block"];
}
321 [label="Exit when branch result"];
322 [label="Exit when"];
}
323 [label="Exit block"];
}
324 [label="Exit function test7" style="filled" fillcolor=red];
}
286 -> {287};
287 -> {288};
288 -> {289};
289 -> {290};
290 -> {291};
291 -> {292};
292 -> {293 299 305};
292 -> {306 307} [style=dotted];
292 -> {293 299} [style=dashed];
293 -> {294};
294 -> {295};
295 -> {298};
295 -> {296} [style=dotted];
296 -> {297} [style=dotted];
297 -> {298} [style=dotted];
298 -> {306};
299 -> {300};
300 -> {301};
301 -> {302};
302 -> {303};
303 -> {304};
304 -> {307};
305 -> {308};
306 -> {308} [label="Postponed"];
307 -> {308} [label="Postponed"];
308 -> {309};
309 -> {310};
310 -> {311};
311 -> {312};
312 -> {313};
313 -> {314 315};
314 -> {322};
315 -> {316};
316 -> {317};
317 -> {318};
318 -> {319};
319 -> {320};
320 -> {321};
321 -> {322};
322 -> {323};
323 -> {324};
}