b2041e0927
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
484 lines
16 KiB
Plaintext
Vendored
484 lines
16 KiB
Plaintext
Vendored
digraph flowFromInplaceLambda3_kt {
|
|
graph [nodesep=3]
|
|
node [shape=box penwidth=2]
|
|
edge [penwidth=2]
|
|
|
|
subgraph cluster_0 {
|
|
color=red
|
|
0 [label="Enter file flowFromInplaceLambda3.kt" style="filled" fillcolor=red];
|
|
1 [label="Exit file flowFromInplaceLambda3.kt" style="filled" fillcolor=red];
|
|
}
|
|
0 -> {1} [color=green];
|
|
|
|
subgraph cluster_1 {
|
|
color=red
|
|
2 [label="Enter function unknown" style="filled" fillcolor=red];
|
|
subgraph cluster_2 {
|
|
color=blue
|
|
3 [label="Enter block"];
|
|
subgraph cluster_3 {
|
|
color=blue
|
|
4 [label="Enter block"];
|
|
5 [label="Exit block"];
|
|
}
|
|
subgraph cluster_4 {
|
|
color=blue
|
|
6 [label="Function call arguments enter"];
|
|
7 [label="Function call arguments exit"];
|
|
}
|
|
8 [label="Function call: R|<local>/x|.R|SubstitutionOverride<kotlin/Function0.invoke: R|kotlin/Unit|>|()" style="filled" fillcolor=yellow];
|
|
9 [label="Exit block"];
|
|
}
|
|
10 [label="Exit function unknown" style="filled" fillcolor=red];
|
|
}
|
|
2 -> {3};
|
|
3 -> {4};
|
|
4 -> {5};
|
|
5 -> {6};
|
|
6 -> {7};
|
|
7 -> {8};
|
|
8 -> {9};
|
|
9 -> {10};
|
|
|
|
subgraph cluster_5 {
|
|
color=red
|
|
11 [label="Enter function atLeastOnce" style="filled" fillcolor=red];
|
|
subgraph cluster_6 {
|
|
color=blue
|
|
12 [label="Enter block"];
|
|
subgraph cluster_7 {
|
|
color=blue
|
|
13 [label="Enter block"];
|
|
14 [label="Exit block"];
|
|
}
|
|
subgraph cluster_8 {
|
|
color=blue
|
|
15 [label="Function call arguments enter"];
|
|
16 [label="Function call arguments exit"];
|
|
}
|
|
17 [label="Function call: R|<local>/x|.R|SubstitutionOverride<kotlin/Function0.invoke: R|kotlin/Unit|>|()" style="filled" fillcolor=yellow];
|
|
18 [label="Exit block"];
|
|
}
|
|
19 [label="Exit function atLeastOnce" style="filled" fillcolor=red];
|
|
}
|
|
11 -> {12};
|
|
12 -> {13};
|
|
13 -> {14};
|
|
14 -> {15};
|
|
15 -> {16};
|
|
16 -> {17};
|
|
17 -> {18};
|
|
18 -> {19};
|
|
|
|
subgraph cluster_9 {
|
|
color=red
|
|
20 [label="Enter function exactlyOnce" style="filled" fillcolor=red];
|
|
subgraph cluster_10 {
|
|
color=blue
|
|
21 [label="Enter block"];
|
|
subgraph cluster_11 {
|
|
color=blue
|
|
22 [label="Enter block"];
|
|
23 [label="Exit block"];
|
|
}
|
|
subgraph cluster_12 {
|
|
color=blue
|
|
24 [label="Function call arguments enter"];
|
|
25 [label="Function call arguments exit"];
|
|
}
|
|
26 [label="Function call: R|<local>/x|.R|SubstitutionOverride<kotlin/Function0.invoke: R|kotlin/Unit|>|()" style="filled" fillcolor=yellow];
|
|
27 [label="Exit block"];
|
|
}
|
|
28 [label="Exit function exactlyOnce" style="filled" fillcolor=red];
|
|
}
|
|
20 -> {21};
|
|
21 -> {22};
|
|
22 -> {23};
|
|
23 -> {24};
|
|
24 -> {25};
|
|
25 -> {26};
|
|
26 -> {27};
|
|
27 -> {28};
|
|
|
|
subgraph cluster_13 {
|
|
color=red
|
|
29 [label="Enter function atMostOnce" style="filled" fillcolor=red];
|
|
subgraph cluster_14 {
|
|
color=blue
|
|
30 [label="Enter block"];
|
|
subgraph cluster_15 {
|
|
color=blue
|
|
31 [label="Enter block"];
|
|
32 [label="Exit block"];
|
|
}
|
|
33 [label="Exit block"];
|
|
}
|
|
34 [label="Exit function atMostOnce" style="filled" fillcolor=red];
|
|
}
|
|
29 -> {30};
|
|
30 -> {31};
|
|
31 -> {32};
|
|
32 -> {33};
|
|
33 -> {34};
|
|
|
|
subgraph cluster_16 {
|
|
color=red
|
|
35 [label="Enter function test1" style="filled" fillcolor=red];
|
|
subgraph cluster_17 {
|
|
color=blue
|
|
36 [label="Enter block"];
|
|
37 [label="Variable declaration: lvar x: R|kotlin/Any?|"];
|
|
38 [label="Const: String()"];
|
|
39 [label="Assignment: R|<local>/x|"];
|
|
40 [label="Access variable R|<local>/x|"];
|
|
41 [label="Smart cast: R|<local>/x|"];
|
|
42 [label="Access variable R|kotlin/String.length|"];
|
|
subgraph cluster_18 {
|
|
color=blue
|
|
43 [label="Function call arguments enter"];
|
|
44 [label="Postponed enter to lambda"];
|
|
subgraph cluster_19 {
|
|
color=blue
|
|
45 [label="Enter function <anonymous>" style="filled" fillcolor=red];
|
|
subgraph cluster_20 {
|
|
color=blue
|
|
46 [label="Enter block"];
|
|
47 [label="Const: Int(1)"];
|
|
48 [label="Assignment: R|<local>/x|"];
|
|
49 [label="Exit block"];
|
|
}
|
|
50 [label="Exit function <anonymous>" style="filled" fillcolor=red];
|
|
}
|
|
51 [label="Function call arguments exit"];
|
|
}
|
|
52 [label="Postponed exit from lambda"];
|
|
53 [label="Function call: R|/unknown|(...)" style="filled" fillcolor=yellow];
|
|
54 [label="Access variable R|<local>/x|"];
|
|
55 [label="Access variable <Unresolved name: length>#"];
|
|
subgraph cluster_21 {
|
|
color=blue
|
|
56 [label="Function call arguments enter"];
|
|
57 [label="Access variable R|<local>/x|"];
|
|
58 [label="Function call arguments exit"];
|
|
}
|
|
59 [label="Function call: R|<local>/x|.<Unresolved name: inc>#()" style="filled" fillcolor=yellow];
|
|
60 [label="Exit block"];
|
|
}
|
|
61 [label="Exit function test1" style="filled" fillcolor=red];
|
|
}
|
|
35 -> {36};
|
|
36 -> {37};
|
|
37 -> {38};
|
|
38 -> {39};
|
|
39 -> {40};
|
|
40 -> {41};
|
|
41 -> {42};
|
|
42 -> {43};
|
|
43 -> {44};
|
|
44 -> {45 51 52};
|
|
44 -> {45} [style=dashed];
|
|
45 -> {46};
|
|
46 -> {47};
|
|
47 -> {48};
|
|
48 -> {49};
|
|
49 -> {50};
|
|
50 -> {52};
|
|
51 -> {53};
|
|
52 -> {44} [color=green style=dashed];
|
|
52 -> {53} [label="Postponed"];
|
|
53 -> {54};
|
|
54 -> {55};
|
|
55 -> {56};
|
|
56 -> {57};
|
|
57 -> {58};
|
|
58 -> {59};
|
|
59 -> {60};
|
|
60 -> {61};
|
|
|
|
subgraph cluster_22 {
|
|
color=red
|
|
62 [label="Enter function test1m" style="filled" fillcolor=red];
|
|
subgraph cluster_23 {
|
|
color=blue
|
|
63 [label="Enter block"];
|
|
64 [label="Variable declaration: lvar x: R|kotlin/Any?|"];
|
|
65 [label="Const: String()"];
|
|
66 [label="Assignment: R|<local>/x|"];
|
|
67 [label="Access variable R|<local>/x|"];
|
|
68 [label="Smart cast: R|<local>/x|"];
|
|
69 [label="Access variable R|kotlin/String.length|"];
|
|
subgraph cluster_24 {
|
|
color=blue
|
|
70 [label="Function call arguments enter"];
|
|
71 [label="Postponed enter to lambda"];
|
|
subgraph cluster_25 {
|
|
color=blue
|
|
72 [label="Enter function <anonymous>" style="filled" fillcolor=red];
|
|
subgraph cluster_26 {
|
|
color=blue
|
|
73 [label="Enter block"];
|
|
74 [label="Const: String()"];
|
|
75 [label="Assignment: R|<local>/x|"];
|
|
76 [label="Exit block"];
|
|
}
|
|
77 [label="Exit function <anonymous>" style="filled" fillcolor=red];
|
|
}
|
|
78 [label="Function call arguments exit"];
|
|
}
|
|
79 [label="Postponed exit from lambda"];
|
|
80 [label="Function call: R|/unknown|(...)" style="filled" fillcolor=yellow];
|
|
81 [label="Access variable R|<local>/x|"];
|
|
82 [label="Access variable <Unresolved name: length>#"];
|
|
83 [label="Exit block"];
|
|
}
|
|
84 [label="Exit function test1m" style="filled" fillcolor=red];
|
|
}
|
|
62 -> {63};
|
|
63 -> {64};
|
|
64 -> {65};
|
|
65 -> {66};
|
|
66 -> {67};
|
|
67 -> {68};
|
|
68 -> {69};
|
|
69 -> {70};
|
|
70 -> {71};
|
|
71 -> {72 78 79};
|
|
71 -> {72} [style=dashed];
|
|
72 -> {73};
|
|
73 -> {74};
|
|
74 -> {75};
|
|
75 -> {76};
|
|
76 -> {77};
|
|
77 -> {79};
|
|
78 -> {80};
|
|
79 -> {71} [color=green style=dashed];
|
|
79 -> {80} [label="Postponed"];
|
|
80 -> {81};
|
|
81 -> {82};
|
|
82 -> {83};
|
|
83 -> {84};
|
|
|
|
subgraph cluster_27 {
|
|
color=red
|
|
85 [label="Enter function test2" style="filled" fillcolor=red];
|
|
subgraph cluster_28 {
|
|
color=blue
|
|
86 [label="Enter block"];
|
|
87 [label="Variable declaration: lvar x: R|kotlin/Any?|"];
|
|
88 [label="Const: String()"];
|
|
89 [label="Assignment: R|<local>/x|"];
|
|
90 [label="Access variable R|<local>/x|"];
|
|
91 [label="Smart cast: R|<local>/x|"];
|
|
92 [label="Access variable R|kotlin/String.length|"];
|
|
subgraph cluster_29 {
|
|
color=blue
|
|
93 [label="Function call arguments enter"];
|
|
94 [label="Postponed enter to lambda"];
|
|
subgraph cluster_30 {
|
|
color=blue
|
|
95 [label="Enter function <anonymous>" style="filled" fillcolor=red];
|
|
subgraph cluster_31 {
|
|
color=blue
|
|
96 [label="Enter block"];
|
|
97 [label="Const: Int(1)"];
|
|
98 [label="Assignment: R|<local>/x|"];
|
|
99 [label="Exit block"];
|
|
}
|
|
100 [label="Exit function <anonymous>" style="filled" fillcolor=red];
|
|
}
|
|
101 [label="Function call arguments exit"];
|
|
}
|
|
102 [label="Postponed exit from lambda"];
|
|
103 [label="Function call: R|/atLeastOnce|(...)" style="filled" fillcolor=yellow];
|
|
104 [label="Access variable R|<local>/x|"];
|
|
105 [label="Access variable <Unresolved name: length>#"];
|
|
subgraph cluster_32 {
|
|
color=blue
|
|
106 [label="Function call arguments enter"];
|
|
107 [label="Access variable R|<local>/x|"];
|
|
108 [label="Function call arguments exit"];
|
|
}
|
|
109 [label="Function call: R|<local>/x|.<Unresolved name: inc>#()" style="filled" fillcolor=yellow];
|
|
110 [label="Exit block"];
|
|
}
|
|
111 [label="Exit function test2" style="filled" fillcolor=red];
|
|
}
|
|
85 -> {86};
|
|
86 -> {87};
|
|
87 -> {88};
|
|
88 -> {89};
|
|
89 -> {90};
|
|
90 -> {91};
|
|
91 -> {92};
|
|
92 -> {93};
|
|
93 -> {94};
|
|
94 -> {95 101};
|
|
94 -> {102} [style=dotted];
|
|
94 -> {95} [style=dashed];
|
|
95 -> {96};
|
|
96 -> {97};
|
|
97 -> {98};
|
|
98 -> {99};
|
|
99 -> {100};
|
|
100 -> {102};
|
|
101 -> {103};
|
|
102 -> {94} [color=green style=dashed];
|
|
102 -> {103} [label="Postponed"];
|
|
103 -> {104};
|
|
104 -> {105};
|
|
105 -> {106};
|
|
106 -> {107};
|
|
107 -> {108};
|
|
108 -> {109};
|
|
109 -> {110};
|
|
110 -> {111};
|
|
|
|
subgraph cluster_33 {
|
|
color=red
|
|
112 [label="Enter function test3" style="filled" fillcolor=red];
|
|
subgraph cluster_34 {
|
|
color=blue
|
|
113 [label="Enter block"];
|
|
114 [label="Variable declaration: lvar x: R|kotlin/Any?|"];
|
|
115 [label="Const: String()"];
|
|
116 [label="Assignment: R|<local>/x|"];
|
|
117 [label="Access variable R|<local>/x|"];
|
|
118 [label="Smart cast: R|<local>/x|"];
|
|
119 [label="Access variable R|kotlin/String.length|"];
|
|
subgraph cluster_35 {
|
|
color=blue
|
|
120 [label="Function call arguments enter"];
|
|
121 [label="Postponed enter to lambda"];
|
|
subgraph cluster_36 {
|
|
color=blue
|
|
122 [label="Enter function <anonymous>" style="filled" fillcolor=red];
|
|
subgraph cluster_37 {
|
|
color=blue
|
|
123 [label="Enter block"];
|
|
124 [label="Const: Int(1)"];
|
|
125 [label="Assignment: R|<local>/x|"];
|
|
126 [label="Exit block"];
|
|
}
|
|
127 [label="Exit function <anonymous>" style="filled" fillcolor=red];
|
|
}
|
|
128 [label="Function call arguments exit"];
|
|
}
|
|
129 [label="Postponed exit from lambda"];
|
|
130 [label="Function call: R|/exactlyOnce|(...)" style="filled" fillcolor=yellow];
|
|
131 [label="Access variable R|<local>/x|"];
|
|
132 [label="Access variable <Unresolved name: length>#"];
|
|
subgraph cluster_38 {
|
|
color=blue
|
|
133 [label="Function call arguments enter"];
|
|
134 [label="Access variable R|<local>/x|"];
|
|
135 [label="Function call arguments exit"];
|
|
}
|
|
136 [label="Function call: R|<local>/x|.<Unresolved name: inc>#()" style="filled" fillcolor=yellow];
|
|
137 [label="Exit block"];
|
|
}
|
|
138 [label="Exit function test3" style="filled" fillcolor=red];
|
|
}
|
|
112 -> {113};
|
|
113 -> {114};
|
|
114 -> {115};
|
|
115 -> {116};
|
|
116 -> {117};
|
|
117 -> {118};
|
|
118 -> {119};
|
|
119 -> {120};
|
|
120 -> {121};
|
|
121 -> {122 128};
|
|
121 -> {129} [style=dotted];
|
|
121 -> {122} [style=dashed];
|
|
122 -> {123};
|
|
123 -> {124};
|
|
124 -> {125};
|
|
125 -> {126};
|
|
126 -> {127};
|
|
127 -> {129};
|
|
128 -> {130};
|
|
129 -> {130} [label="Postponed"];
|
|
130 -> {131};
|
|
131 -> {132};
|
|
132 -> {133};
|
|
133 -> {134};
|
|
134 -> {135};
|
|
135 -> {136};
|
|
136 -> {137};
|
|
137 -> {138};
|
|
|
|
subgraph cluster_39 {
|
|
color=red
|
|
139 [label="Enter function test4" style="filled" fillcolor=red];
|
|
subgraph cluster_40 {
|
|
color=blue
|
|
140 [label="Enter block"];
|
|
141 [label="Variable declaration: lvar x: R|kotlin/Any?|"];
|
|
142 [label="Const: String()"];
|
|
143 [label="Assignment: R|<local>/x|"];
|
|
144 [label="Access variable R|<local>/x|"];
|
|
145 [label="Smart cast: R|<local>/x|"];
|
|
146 [label="Access variable R|kotlin/String.length|"];
|
|
subgraph cluster_41 {
|
|
color=blue
|
|
147 [label="Function call arguments enter"];
|
|
148 [label="Postponed enter to lambda"];
|
|
subgraph cluster_42 {
|
|
color=blue
|
|
149 [label="Enter function <anonymous>" style="filled" fillcolor=red];
|
|
subgraph cluster_43 {
|
|
color=blue
|
|
150 [label="Enter block"];
|
|
151 [label="Const: Int(1)"];
|
|
152 [label="Assignment: R|<local>/x|"];
|
|
153 [label="Exit block"];
|
|
}
|
|
154 [label="Exit function <anonymous>" style="filled" fillcolor=red];
|
|
}
|
|
155 [label="Function call arguments exit"];
|
|
}
|
|
156 [label="Postponed exit from lambda"];
|
|
157 [label="Function call: R|/atMostOnce|(...)" style="filled" fillcolor=yellow];
|
|
158 [label="Access variable R|<local>/x|"];
|
|
159 [label="Access variable <Unresolved name: length>#"];
|
|
subgraph cluster_44 {
|
|
color=blue
|
|
160 [label="Function call arguments enter"];
|
|
161 [label="Access variable R|<local>/x|"];
|
|
162 [label="Function call arguments exit"];
|
|
}
|
|
163 [label="Function call: R|<local>/x|.<Unresolved name: inc>#()" style="filled" fillcolor=yellow];
|
|
164 [label="Exit block"];
|
|
}
|
|
165 [label="Exit function test4" style="filled" fillcolor=red];
|
|
}
|
|
139 -> {140};
|
|
140 -> {141};
|
|
141 -> {142};
|
|
142 -> {143};
|
|
143 -> {144};
|
|
144 -> {145};
|
|
145 -> {146};
|
|
146 -> {147};
|
|
147 -> {148};
|
|
148 -> {149 155 156};
|
|
148 -> {149} [style=dashed];
|
|
149 -> {150};
|
|
150 -> {151};
|
|
151 -> {152};
|
|
152 -> {153};
|
|
153 -> {154};
|
|
154 -> {156};
|
|
155 -> {157};
|
|
156 -> {157} [label="Postponed"];
|
|
157 -> {158};
|
|
158 -> {159};
|
|
159 -> {160};
|
|
160 -> {161};
|
|
161 -> {162};
|
|
162 -> {163};
|
|
163 -> {164};
|
|
164 -> {165};
|
|
|
|
}
|