Add SetModule and fd_module defs
[hiphop-php.git] / hphp / hack / test / holes / call_unpack.php.holes.exp
blob62142f85b80c95030074fbbc516c5fe778704ad4
1 [(Fun
2 { fd_namespace =
3 { Namespace_env.ns_ns_uses = <opaque>; ns_class_uses = <opaque>;
4 ns_fun_uses = <opaque>; ns_const_uses = <opaque>; ns_name = None;
5 ns_auto_ns_map = []; ns_is_codegen = false; ns_disable_xhp_element_mangling = false };
6 fd_file_attributes = []; fd_mode = Mstrict;
7 fd_fun =
8 { f_span = [3:1-47]; f_readonly_this = None; f_annotation = ();
9 f_readonly_ret = None; f_ret = ((void), (Some ([3:40-44], (Hprim Tvoid))));
10 f_name = ([3:10-18], "\\unpack_a"); f_tparams = []; f_where_constraints = [];
11 f_params =
12 [{ param_annotation = (int); param_type_hint = ((int), (Some ([3:19-22], (Hprim Tint))));
13 param_is_variadic = false; param_pos = [3:23-25]; param_name = "$x";
14 param_expr = None; param_readonly = None; param_callconv = Pnormal;
15 param_user_attributes = []; param_visibility = None };
16 { param_annotation = (vec<int>); param_type_hint = ((vec<int>), (Some ([3:27-30], (Hprim Tint))));
17 param_is_variadic = true; param_pos = [3:34-37]; param_name = "$xs";
18 param_expr = None; param_readonly = None; param_callconv = Pnormal;
19 param_user_attributes = []; param_visibility = None }
21 f_ctxs = None; f_unsafe_ctxs = None; f_body = { fb_ast = [([Pos.none], Noop)] };
22 f_fun_kind = FSync; f_user_attributes = []; f_external = false;
23 f_doc_comment = None };
24 fd_internal = false; fd_module = None });
25 (Fun
26 { fd_namespace =
27 { Namespace_env.ns_ns_uses = <opaque>; ns_class_uses = <opaque>;
28 ns_fun_uses = <opaque>; ns_const_uses = <opaque>; ns_name = None;
29 ns_auto_ns_map = []; ns_is_codegen = false; ns_disable_xhp_element_mangling = false };
30 fd_file_attributes = []; fd_mode = Mstrict;
31 fd_fun =
32 { f_span = [4:1-65]; f_readonly_this = None; f_annotation = ();
33 f_readonly_ret = None; f_ret = ((void), (Some ([4:58-62], (Hprim Tvoid))));
34 f_name = ([4:10-18], "\\unpack_b"); f_tparams = []; f_where_constraints = [];
35 f_params =
36 [{ param_annotation = (float); param_type_hint = ((float), (Some ([4:19-24], (Hprim Tfloat))));
37 param_is_variadic = false; param_pos = [4:25-27]; param_name = "$x";
38 param_expr = None; param_readonly = None; param_callconv = Pnormal;
39 param_user_attributes = []; param_visibility = None };
40 { param_annotation = (vec<int>); param_type_hint = ((vec<int>), (Some ([4:29-40], (Happly (([4:29-35], "\\HH\\vec"), [([4:36-39], (Hprim Tint))])))));
41 param_is_variadic = false; param_pos = [4:41-43]; param_name = "$y";
42 param_expr = None; param_readonly = None; param_callconv = Pnormal;
43 param_user_attributes = []; param_visibility = None };
44 { param_annotation = (vec<int>); param_type_hint = ((vec<int>), (Some ([4:45-48], (Hprim Tint))));
45 param_is_variadic = true; param_pos = [4:52-55]; param_name = "$ys";
46 param_expr = None; param_readonly = None; param_callconv = Pnormal;
47 param_user_attributes = []; param_visibility = None }
49 f_ctxs = None; f_unsafe_ctxs = None; f_body = { fb_ast = [([Pos.none], Noop)] };
50 f_fun_kind = FSync; f_user_attributes = []; f_external = false;
51 f_doc_comment = None };
52 fd_internal = false; fd_module = None });
53 (Fun
54 { fd_namespace =
55 { Namespace_env.ns_ns_uses = <opaque>; ns_class_uses = <opaque>;
56 ns_fun_uses = <opaque>; ns_const_uses = <opaque>; ns_name = None;
57 ns_auto_ns_map = []; ns_is_codegen = false; ns_disable_xhp_element_mangling = false };
58 fd_file_attributes = []; fd_mode = Mstrict;
59 fd_fun =
60 { f_span = [5:1-66]; f_readonly_this = None; f_annotation = ();
61 f_readonly_ret = None; f_ret = ((void), (Some ([5:59-63], (Hprim Tvoid))));
62 f_name = ([5:10-18], "\\unpack_c"); f_tparams = []; f_where_constraints = [];
63 f_params =
64 [{ param_annotation = (float); param_type_hint = ((float), (Some ([5:19-24], (Hprim Tfloat))));
65 param_is_variadic = false; param_pos = [5:25-27]; param_name = "$x";
66 param_expr = None; param_readonly = None; param_callconv = Pnormal;
67 param_user_attributes = []; param_visibility = None };
68 { param_annotation = ((float, int)); param_type_hint = (((float, int)), (Some ([5:29-41], (Htuple [([5:30-35], (Hprim Tfloat)); ([5:37-40], (Hprim Tint))]))));
69 param_is_variadic = false; param_pos = [5:42-44]; param_name = "$y";
70 param_expr = None; param_readonly = None; param_callconv = Pnormal;
71 param_user_attributes = []; param_visibility = None };
72 { param_annotation = (vec<int>); param_type_hint = ((vec<int>), (Some ([5:46-49], (Hprim Tint))));
73 param_is_variadic = true; param_pos = [5:53-56]; param_name = "$ys";
74 param_expr = None; param_readonly = None; param_callconv = Pnormal;
75 param_user_attributes = []; param_visibility = None }
77 f_ctxs = None; f_unsafe_ctxs = None; f_body = { fb_ast = [([Pos.none], Noop)] };
78 f_fun_kind = FSync; f_user_attributes = []; f_external = false;
79 f_doc_comment = None };
80 fd_internal = false; fd_module = None });
81 (Fun
82 { fd_namespace =
83 { Namespace_env.ns_ns_uses = <opaque>; ns_class_uses = <opaque>;
84 ns_fun_uses = <opaque>; ns_const_uses = <opaque>; ns_name = None;
85 ns_auto_ns_map = []; ns_is_codegen = false; ns_disable_xhp_element_mangling = false };
86 fd_file_attributes = []; fd_mode = Mstrict;
87 fd_fun =
88 { f_span = [6:1-71]; f_readonly_this = None; f_annotation = ();
89 f_readonly_ret = None; f_ret = ((void), (Some ([6:64-68], (Hprim Tvoid))));
90 f_name = ([6:10-18], "\\unpack_d"); f_tparams = []; f_where_constraints = [];
91 f_params =
92 [{ param_annotation = (int); param_type_hint = ((int), (Some ([6:19-22], (Hprim Tint))));
93 param_is_variadic = false; param_pos = [6:23-25]; param_name = "$x";
94 param_expr = None; param_readonly = None; param_callconv = Pnormal;
95 param_user_attributes = []; param_visibility = None };
96 { param_annotation = (shape('u' => bool, 'v' => bool));
97 param_type_hint =
98 ((shape('u' => bool, 'v' => bool)),
99 (Some ([6:27-58],
100 (Hshape
101 { nsi_allows_unknown_fields = false;
102 nsi_field_map =
103 [{ sfi_optional = false; sfi_hint = ([6:40-44], (Hprim Tbool)); sfi_name = (SFlit_str ([6:33-36], "u")) };
104 { sfi_optional = false; sfi_hint = ([6:53-57], (Hprim Tbool)); sfi_name = (SFlit_str ([6:46-49], "v")) }]
105 }))));
106 param_is_variadic = false; param_pos = [6:59-61]; param_name = "$y";
107 param_expr = None; param_readonly = None; param_callconv = Pnormal;
108 param_user_attributes = []; param_visibility = None }
110 f_ctxs = None; f_unsafe_ctxs = None; f_body = { fb_ast = [([Pos.none], Noop)] };
111 f_fun_kind = FSync; f_user_attributes = []; f_external = false;
112 f_doc_comment = None };
113 fd_internal = false; fd_module = None });
114 (Fun
115 { fd_namespace =
116 { Namespace_env.ns_ns_uses = <opaque>; ns_class_uses = <opaque>;
117 ns_fun_uses = <opaque>; ns_const_uses = <opaque>; ns_name = None;
118 ns_auto_ns_map = []; ns_is_codegen = false; ns_disable_xhp_element_mangling = false };
119 fd_file_attributes = []; fd_mode = Mstrict;
120 fd_fun =
121 { f_span = [7:1-11:11]; f_readonly_this = None; f_annotation = ();
122 f_readonly_ret = None; f_ret = ((void), (Some ([11:4-8], (Hprim Tvoid))));
123 f_name = ([7:10-18], "\\unpack_e"); f_tparams = []; f_where_constraints = [];
124 f_params =
125 [{ param_annotation = (float); param_type_hint = ((float), (Some ([8:1-6], (Hprim Tfloat))));
126 param_is_variadic = false; param_pos = [8:7-9]; param_name = "$x";
127 param_expr = None; param_readonly = None; param_callconv = Pnormal;
128 param_user_attributes = []; param_visibility = None };
129 { param_annotation = ((function(int, float): bool));
130 param_type_hint =
131 (((function(int, float): bool)),
132 (Some ([9:1-29],
133 (Hfun
134 { hf_is_readonly = None; hf_param_tys = [([9:11-14], (Hprim Tint)); ([9:16-21], (Hprim Tfloat))];
135 hf_param_info = [(Some { hfparam_kind = Pnormal; hfparam_readonlyness = None }); (Some { hfparam_kind = Pnormal; hfparam_readonlyness = None })];
136 hf_variadic_ty = None; hf_ctxs = None; hf_return_ty = ([9:24-28], (Hprim Tbool));
137 hf_is_readonly_return = None }))));
138 param_is_variadic = false; param_pos = [9:30-32]; param_name = "$f";
139 param_expr = None; param_readonly = None; param_callconv = Pnormal;
140 param_user_attributes = []; param_visibility = None };
141 { param_annotation = (int); param_type_hint = ((int), (Some ([10:1-4], (Hprim Tint))));
142 param_is_variadic = false; param_pos = [10:5-7]; param_name = "$y";
143 param_expr = None; param_readonly = None; param_callconv = Pnormal;
144 param_user_attributes = []; param_visibility = None }
146 f_ctxs = None; f_unsafe_ctxs = None; f_body = { fb_ast = [([Pos.none], Noop)] };
147 f_fun_kind = FSync; f_user_attributes = []; f_external = false;
148 f_doc_comment = None };
149 fd_internal = false; fd_module = None });
150 (Fun
151 { fd_namespace =
152 { Namespace_env.ns_ns_uses = <opaque>; ns_class_uses = <opaque>;
153 ns_fun_uses = <opaque>; ns_const_uses = <opaque>; ns_name = None;
154 ns_auto_ns_map = []; ns_is_codegen = false; ns_disable_xhp_element_mangling = false };
155 fd_file_attributes = []; fd_mode = Mstrict;
156 fd_fun =
157 { f_span = [13:1-43:2]; f_readonly_this = None; f_annotation = ();
158 f_readonly_ret = None; f_ret = ((void), (Some ([24:4-8], (Hprim Tvoid))));
159 f_name = ([13:10-21], "\\call_unpack"); f_tparams = []; f_where_constraints = [];
160 f_params =
161 [{ param_annotation = (Pair<int, float>);
162 param_type_hint = ((Pair<int, float>), (Some ([14:1-17], (Happly (([14:1-5], "\\HH\\Pair"), [([14:6-9], (Hprim Tint)); ([14:11-16], (Hprim Tfloat))])))));
163 param_is_variadic = false; param_pos = [14:18-20]; param_name = "$a";
164 param_expr = None; param_readonly = None; param_callconv = Pnormal;
165 param_user_attributes = []; param_visibility = None };
166 { param_annotation = ((int, float, int, float, int, float));
167 param_type_hint =
168 (((int, float, int, float, int, float)),
169 (Some ([15:1-37],
170 (Htuple
171 [([15:2-5], (Hprim Tint)); ([15:7-12], (Hprim Tfloat)); ([15:14-17], (Hprim Tint)); ([15:19-24], (Hprim Tfloat)); ([15:26-29], (Hprim Tint)); ([15:31-36], (Hprim Tfloat))]))));
172 param_is_variadic = false; param_pos = [15:38-40]; param_name = "$b";
173 param_expr = None; param_readonly = None; param_callconv = Pnormal;
174 param_user_attributes = []; param_visibility = None };
175 { param_annotation = ((float, vec<float>, float));
176 param_type_hint =
177 (((float, vec<float>, float)),
178 (Some ([16:1-30], (Htuple [([16:2-7], (Hprim Tfloat)); ([16:9-22], (Happly (([16:9-15], "\\HH\\vec"), [([16:16-21], (Hprim Tfloat))]))); ([16:24-29], (Hprim Tfloat))]))));
179 param_is_variadic = false; param_pos = [16:31-33]; param_name = "$c";
180 param_expr = None; param_readonly = None; param_callconv = Pnormal;
181 param_user_attributes = []; param_visibility = None };
182 { param_annotation = ((float, vec<int>, float, int));
183 param_type_hint =
184 (((float, vec<int>, float, int)),
185 (Some ([17:1-33],
186 (Htuple [([17:2-7], (Hprim Tfloat)); ([17:9-20], (Happly (([17:9-15], "\\HH\\vec"), [([17:16-19], (Hprim Tint))]))); ([17:22-27], (Hprim Tfloat)); ([17:29-32], (Hprim Tint))]))));
187 param_is_variadic = false; param_pos = [17:34-36]; param_name = "$d";
188 param_expr = None; param_readonly = None; param_callconv = Pnormal;
189 param_user_attributes = []; param_visibility = None };
190 { param_annotation = ((float, int, float, float));
191 param_type_hint =
192 (((float, int, float, float)), (Some ([18:1-27], (Htuple [([18:2-7], (Hprim Tfloat)); ([18:9-12], (Hprim Tint)); ([18:14-19], (Hprim Tfloat)); ([18:21-26], (Hprim Tfloat))]))));
193 param_is_variadic = false; param_pos = [18:28-30]; param_name = "$e";
194 param_expr = None; param_readonly = None; param_callconv = Pnormal;
195 param_user_attributes = []; param_visibility = None };
196 { param_annotation = (shape('a' => float, 'b' => int, 'c' => int));
197 param_type_hint =
198 ((shape('a' => float, 'b' => int, 'c' => int)),
199 (Some ([19:1-44],
200 (Hshape
201 { nsi_allows_unknown_fields = false;
202 nsi_field_map =
203 [{ sfi_optional = false; sfi_hint = ([19:14-19], (Hprim Tfloat)); sfi_name = (SFlit_str ([19:7-10], "a")) };
204 { sfi_optional = false; sfi_hint = ([19:28-31], (Hprim Tint)); sfi_name = (SFlit_str ([19:21-24], "b")) };
205 { sfi_optional = false; sfi_hint = ([19:40-43], (Hprim Tint)); sfi_name = (SFlit_str ([19:33-36], "c")) }]
206 }))));
207 param_is_variadic = false; param_pos = [19:45-47]; param_name = "$f";
208 param_expr = None; param_readonly = None; param_callconv = Pnormal;
209 param_user_attributes = []; param_visibility = None };
210 { param_annotation = ((float, (float, float), int));
211 param_type_hint =
212 (((float, (float, float), int)),
213 (Some ([20:1-29], (Htuple [([20:2-7], (Hprim Tfloat)); ([20:9-23], (Htuple [([20:10-15], (Hprim Tfloat)); ([20:17-22], (Hprim Tfloat))])); ([20:25-28], (Hprim Tint))]))));
214 param_is_variadic = false; param_pos = [20:30-32]; param_name = "$g";
215 param_expr = None; param_readonly = None; param_callconv = Pnormal;
216 param_user_attributes = []; param_visibility = None };
217 { param_annotation = ((int, shape('u' => float, 'v' => int)));
218 param_type_hint =
219 (((int, shape('u' => float, 'v' => int))),
220 (Some ([21:1-39],
221 (Htuple
222 [([21:2-5], (Hprim Tint));
223 ([21:7-38],
224 (Hshape
225 { nsi_allows_unknown_fields = false;
226 nsi_field_map =
227 [{ sfi_optional = false; sfi_hint = ([21:20-25], (Hprim Tfloat)); sfi_name = (SFlit_str ([21:13-16], "u")) };
228 { sfi_optional = false; sfi_hint = ([21:34-37], (Hprim Tint)); sfi_name = (SFlit_str ([21:27-30], "v")) }]
230 ]))));
231 param_is_variadic = false; param_pos = [21:40-42]; param_name = "$h";
232 param_expr = None; param_readonly = None; param_callconv = Pnormal;
233 param_user_attributes = []; param_visibility = None };
234 { param_annotation = ((float, (function(float, int): int), int));
235 param_type_hint =
236 (((float, (function(float, int): int), int)),
237 (Some ([22:1-42],
238 (Htuple
239 [([22:2-7], (Hprim Tfloat));
240 ([22:9-36],
241 (Hfun
242 { hf_is_readonly = None; hf_param_tys = [([22:19-24], (Hprim Tfloat)); ([22:26-29], (Hprim Tint))];
243 hf_param_info = [(Some { hfparam_kind = Pnormal; hfparam_readonlyness = None }); (Some { hfparam_kind = Pnormal; hfparam_readonlyness = None })];
244 hf_variadic_ty = None; hf_ctxs = None;
245 hf_return_ty = ([22:32-35], (Hprim Tint));
246 hf_is_readonly_return = None }));
247 ([22:38-41], (Hprim Tint))]))));
248 param_is_variadic = false; param_pos = [22:43-45]; param_name = "$i";
249 param_expr = None; param_readonly = None; param_callconv = Pnormal;
250 param_user_attributes = []; param_visibility = None };
251 { param_annotation = ((float, (function(int, float): bool), int));
252 param_type_hint =
253 (((float, (function(int, float): bool), int)),
254 (Some ([23:1-43],
255 (Htuple
256 [([23:2-7], (Hprim Tfloat));
257 ([23:9-37],
258 (Hfun
259 { hf_is_readonly = None; hf_param_tys = [([23:19-22], (Hprim Tint)); ([23:24-29], (Hprim Tfloat))];
260 hf_param_info = [(Some { hfparam_kind = Pnormal; hfparam_readonlyness = None }); (Some { hfparam_kind = Pnormal; hfparam_readonlyness = None })];
261 hf_variadic_ty = None; hf_ctxs = None;
262 hf_return_ty = ([23:32-36], (Hprim Tbool));
263 hf_is_readonly_return = None }));
264 ([23:39-42], (Hprim Tint))]))));
265 param_is_variadic = false; param_pos = [23:44-46]; param_name = "$j";
266 param_expr = None; param_readonly = None; param_callconv = Pnormal;
267 param_user_attributes = []; param_visibility = None }
269 f_ctxs = None; f_unsafe_ctxs = None;
270 f_body =
271 { fb_ast =
272 [([26:3-19],
273 (Expr
274 ((void), [26:3-18],
275 (Call ((((function(int $x, int $xs...): void)), [26:3-11], (Id ([26:3-11], "\\unpack_a"))),
276 [], [], (Some ((Pair<int, float>), [26:15-17], (Hole (((Pair<int, float>), [26:15-17], (Lvar ([26:15-17], $a))), (Pair<int, float>), (Pair<int, int>), Typing)))))))));
277 ([28:3-19],
278 (Expr
279 ((void), [28:3-18],
280 (Call ((((function(int $x, int $xs...): void)), [28:3-11], (Id ([28:3-11], "\\unpack_a"))),
281 [], [],
282 (Some (((int, float, int, float, int, float)), [28:15-17],
283 (Hole ((((int, float, int, float, int, float)), [28:15-17], (Lvar ([28:15-17], $b))), ((int, float, int, float, int, float)), ((int, int, int, int, int, int)), Typing))))
284 )))));
285 ([30:3-19],
286 (Expr
287 ((void), [30:3-18],
288 (Call ((((function(float $x, vec<int> $y, int $ys...): void)), [30:3-11], (Id ([30:3-11], "\\unpack_b"))),
289 [], [],
290 (Some (((float, vec<float>, float)), [30:15-17],
291 (Hole ((((float, vec<float>, float)), [30:15-17], (Lvar ([30:15-17], $c))), ((float, vec<float>, float)), ((float, vec<int>, int)), Typing))))
292 )))));
293 ([32:3-19],
294 (Expr
295 ((void), [32:3-18],
296 (Call ((((function(float $x, vec<int> $y, int $ys...): void)), [32:3-11], (Id ([32:3-11], "\\unpack_b"))),
297 [], [],
298 (Some (((float, vec<int>, float, int)), [32:15-17],
299 (Hole ((((float, vec<int>, float, int)), [32:15-17], (Lvar ([32:15-17], $d))), ((float, vec<int>, float, int)), ((float, vec<int>, int, int)), Typing))))
300 )))));
301 ([34:3-19],
302 (Expr
303 ((void), [34:3-18],
304 (Call ((((function(float $x, vec<int> $y, int $ys...): void)), [34:3-11], (Id ([34:3-11], "\\unpack_b"))),
305 [], [],
306 (Some (((float, int, float, float)), [34:15-17],
307 (Hole ((((float, int, float, float)), [34:15-17], (Lvar ([34:15-17], $e))), ((float, int, float, float)), ((float, vec<int>, int, int)), Typing))))
308 )))));
309 ([36:3-19],
310 (Expr
311 ((void), [36:3-18],
312 (Call ((((function(float $x, vec<int> $y, int $ys...): void)), [36:3-11], (Id ([36:3-11], "\\unpack_b"))),
313 [], [],
314 (Some ((shape('a' => float, 'b' => int, 'c' => int)), [36:15-17],
315 (Hole (((shape('a' => float, 'b' => int, 'c' => int)), [36:15-17], (Lvar ([36:15-17], $f))), (shape('a' => float, 'b' => int, 'c' => int)), ({suggest:nothing}), Typing))))
316 )))));
317 ([38:3-19],
318 (Expr
319 ((void), [38:3-18],
320 (Call ((((function(float $x, (float, int) $y, int $ys...): void)), [38:3-11], (Id ([38:3-11], "\\unpack_c"))),
321 [], [],
322 (Some (((float, (float, float), int)), [38:15-17],
323 (Hole ((((float, (float, float), int)), [38:15-17], (Lvar ([38:15-17], $g))), ((float, (float, float), int)), ((float, (float, int), int)), Typing))))
324 )))));
325 ([40:3-19],
326 (Expr
327 ((void), [40:3-18],
328 (Call ((((function(int $x, shape('u' => bool, 'v' => bool) $y): void)), [40:3-11], (Id ([40:3-11], "\\unpack_d"))),
329 [], [],
330 (Some (((int, shape('u' => float, 'v' => int))), [40:15-17],
331 (Hole ((((int, shape('u' => float, 'v' => int))), [40:15-17], (Lvar ([40:15-17], $h))), ((int, shape('u' => float, 'v' => int))), ((int, shape('u' => bool, 'v' => bool))),
332 Typing))))
333 )))));
334 ([42:3-19],
335 (Expr
336 ((void), [42:3-18],
337 (Call ((((function(float $x, (function(int, float): bool) $f, int $y): void)), [42:3-11], (Id ([42:3-11], "\\unpack_e"))),
338 [], [],
339 (Some (((float, (function(float, int): int), int)), [42:15-17],
340 (Hole ((((float, (function(float, int): int), int)), [42:15-17], (Lvar ([42:15-17], $i))), ((float, (function(float, int): int), int)),
341 ((float, (function(int, float): bool), int)), Typing))))
342 )))))
345 f_fun_kind = FSync; f_user_attributes = []; f_external = false;
346 f_doc_comment = None };
347 fd_internal = false; fd_module = None })