Make `param_kind` non-optional
[hiphop-php.git] / hphp / hack / test / tast / array_map.php.exp
blob1eec70c9ac9d6cd9223301ab7bb475afa583492a
1 [(Fun
2 { fd_namespace =
3 { Namespace_env.ns_ns_uses = <opaque>; ns_class_uses = <opaque>;
4 ns_record_def_uses = <opaque>; ns_fun_uses = <opaque>; ns_const_uses = <opaque>;
5 ns_name = None; ns_auto_ns_map = []; ns_is_codegen = false; ns_disable_xhp_element_mangling = false };
6 fd_file_attributes = []; fd_mode = Mpartial;
7 fd_fun =
8 { f_span = [3:1-19:2]; f_readonly_this = None; f_annotation = ();
9 f_readonly_ret = None; f_ret = ((void), (Some ([12:4-8], (Hprim Tvoid))));
10 f_name = ([3:10-14], "\\test"); f_tparams = []; f_where_constraints = [];
11 f_variadic = FVnonVariadic;
12 f_params =
13 [{ param_annotation = ((function(int): bool));
14 param_type_hint =
15 (((function(int): bool)),
16 (Some ([4:3-24],
17 (Hfun
18 { hf_is_readonly = None; hf_param_tys = [([4:13-16], (Hprim Tint))];
19 hf_param_info = [(Some { hfparam_kind = Pnormal; hfparam_readonlyness = None })];
20 hf_variadic_ty = None; hf_ctxs = None; hf_return_ty = ([4:19-23], (Hprim Tbool));
21 hf_is_readonly_return = None }))));
22 param_is_variadic = false; param_pos = [4:25-27]; param_name = "$f";
23 param_expr = None; param_readonly = None; param_callconv = Pnormal;
24 param_user_attributes = []; param_visibility = None };
25 { param_annotation = ((function(int, string): bool));
26 param_type_hint =
27 (((function(int, string): bool)),
28 (Some ([5:3-32],
29 (Hfun
30 { hf_is_readonly = None; hf_param_tys = [([5:13-16], (Hprim Tint)); ([5:18-24], (Hprim Tstring))];
31 hf_param_info = [(Some { hfparam_kind = Pnormal; hfparam_readonlyness = None }); (Some { hfparam_kind = Pnormal; hfparam_readonlyness = None })];
32 hf_variadic_ty = None; hf_ctxs = None; hf_return_ty = ([5:27-31], (Hprim Tbool));
33 hf_is_readonly_return = None }))));
34 param_is_variadic = false; param_pos = [5:33-35]; param_name = "$g";
35 param_expr = None; param_readonly = None; param_callconv = Pnormal;
36 param_user_attributes = []; param_visibility = None };
37 { param_annotation = ((function(int, string, num): Container<int>));
38 param_type_hint =
39 (((function(int, string, num): Container<int>)),
40 (Some ([6:3-47],
41 (Hfun
42 { hf_is_readonly = None; hf_param_tys = [([6:13-16], (Hprim Tint)); ([6:18-24], (Hprim Tstring)); ([6:26-29], (Hprim Tnum))];
43 hf_param_info =
44 [(Some { hfparam_kind = Pnormal; hfparam_readonlyness = None }); (Some
45 { hfparam_kind = Pnormal; hfparam_readonlyness = None }); (Some
46 { hfparam_kind = Pnormal; hfparam_readonlyness = None })];
47 hf_variadic_ty = None; hf_ctxs = None; hf_return_ty = ([6:32-46], (Happly (([6:32-41], "\\HH\\Container"), [([6:42-45], (Hprim Tint))])));
48 hf_is_readonly_return = None }))));
49 param_is_variadic = false; param_pos = [6:48-50]; param_name = "$h";
50 param_expr = None; param_readonly = None; param_callconv = Pnormal;
51 param_user_attributes = []; param_visibility = None };
52 { param_annotation = ((function(num): bool));
53 param_type_hint =
54 (((function(num): bool)),
55 (Some ([7:3-24],
56 (Hfun
57 { hf_is_readonly = None; hf_param_tys = [([7:13-16], (Hprim Tnum))];
58 hf_param_info = [(Some { hfparam_kind = Pnormal; hfparam_readonlyness = None })];
59 hf_variadic_ty = None; hf_ctxs = None; hf_return_ty = ([7:19-23], (Hprim Tbool));
60 hf_is_readonly_return = None }))));
61 param_is_variadic = false; param_pos = [7:25-27]; param_name = "$i";
62 param_expr = None; param_readonly = None; param_callconv = Pnormal;
63 param_user_attributes = []; param_visibility = None };
64 { param_annotation = (Container<int>); param_type_hint = ((Container<int>), (Some ([8:3-17], (Happly (([8:3-12], "\\HH\\Container"), [([8:13-16], (Hprim Tint))])))));
65 param_is_variadic = false; param_pos = [8:18-21]; param_name = "$ci";
66 param_expr = None; param_readonly = None; param_callconv = Pnormal;
67 param_user_attributes = []; param_visibility = None };
68 { param_annotation = (Container<string>); param_type_hint = ((Container<string>), (Some ([9:3-20], (Happly (([9:3-12], "\\HH\\Container"), [([9:13-19], (Hprim Tstring))])))));
69 param_is_variadic = false; param_pos = [9:21-24]; param_name = "$cs";
70 param_expr = None; param_readonly = None; param_callconv = Pnormal;
71 param_user_attributes = []; param_visibility = None };
72 { param_annotation = (KeyedContainer<int, num>);
73 param_type_hint = ((KeyedContainer<int, num>), (Some ([10:3-27], (Happly (([10:3-17], "\\HH\\KeyedContainer"), [([10:18-21], (Hprim Tint)); ([10:23-26], (Hprim Tnum))])))));
74 param_is_variadic = false; param_pos = [10:28-31]; param_name = "$cn";
75 param_expr = None; param_readonly = None; param_callconv = Pnormal;
76 param_user_attributes = []; param_visibility = None };
77 { param_annotation = (bool); param_type_hint = ((bool), (Some ([11:3-7], (Hprim Tbool))));
78 param_is_variadic = false; param_pos = [11:8-10]; param_name = "$b";
79 param_expr = None; param_readonly = None; param_callconv = Pnormal;
80 param_user_attributes = []; param_visibility = None }
82 f_ctxs = None; f_unsafe_ctxs = None;
83 f_body =
84 { fb_ast =
85 [([13:3-32],
86 (Expr
87 (((Container<int> | KeyedContainer<int, num>)), [13:3-31],
88 (Binop ((Eq None), (((Container<int> | KeyedContainer<int, num>)), [13:3-14], (Lvar ([13:3-14], $unresolved))),
89 (((Container<int> | KeyedContainer<int, num>)), [13:17-31],
90 (Eif (((bool), [13:17-19], (Lvar ([13:17-19], $b))), (Some (
91 (Container<int>), [13:22-25], (Lvar ([13:22-25], $ci)))), (
92 (KeyedContainer<int, num>), [13:28-31], (Lvar ([13:28-31], $cn))))))
93 )))));
94 ([15:3-22],
95 (Expr
96 ((dict<arraykey, _>), [15:3-21],
97 (Call ((((function($callback, $arr1, ...): dict<arraykey, _>)), [15:3-12], (Id ([15:3-12], "\\array_map"))),
98 [], [(((function(int): bool)), [15:13-15], (Lvar ([15:13-15], $f))); ((Container<int>), [15:17-20], (Lvar ([15:17-20], $ci)))], None)))));
99 ([16:3-27],
100 (Expr
101 ((_), [16:3-26],
102 (Call ((((function($callback, $arr1, ...): _)), [16:3-12], (Id ([16:3-12], "\\array_map"))),
104 [(((function(int, string): bool)), [16:13-15], (Lvar ([16:13-15], $g))); (
105 (Container<int>), [16:17-20], (Lvar ([16:17-20], $ci))); (
106 (Container<string>), [16:22-25], (Lvar ([16:22-25], $cs)))],
107 None)))));
108 ([17:3-32],
109 (Expr
110 ((_), [17:3-31],
111 (Call ((((function($callback, $arr1, ...): _)), [17:3-12], (Id ([17:3-12], "\\array_map"))),
113 [(((function(int, string, num): Container<int>)), [17:13-15], (Lvar ([17:13-15], $h))); (
114 (Container<int>), [17:17-20], (Lvar ([17:17-20], $ci))); (
115 (Container<string>), [17:22-25], (Lvar ([17:22-25], $cs))); (
116 (KeyedContainer<int, num>), [17:27-30], (Lvar ([17:27-30], $cn)))],
117 None)))));
118 ([18:3-30],
119 (Expr
120 ((dict<arraykey, _>), [18:3-29],
121 (Call ((((function($callback, $arr1, ...): dict<arraykey, _>)), [18:3-12], (Id ([18:3-12], "\\array_map"))),
122 [], [(((function(num): bool)), [18:13-15], (Lvar ([18:13-15], $i))); (((Container<int> | KeyedContainer<int, num>)), [18:17-28], (Lvar ([18:17-28], $unresolved)))], None)))))
125 f_fun_kind = FSync; f_user_attributes = []; f_external = false;
126 f_doc_comment = None }