represent calls to `unsafe_cast` as TAST `Hole`s
[hiphop-php.git] / hphp / hack / test / holes / call_vec.php.holes.exp
blob1e5747b18de313cc9cef80e97ed50f32ed98ea61
1 [(Class
2 { c_span = [3:1-5:2]; c_annotation = (); c_mode = Mstrict; c_final = false;
3 c_is_xhp = false; c_has_xhp_keyword = false; c_kind = Cnormal;
4 c_name = ([3:7-14], "\\TestVec"); c_tparams = []; c_extends = [];
5 c_uses = []; c_use_as_alias = []; c_insteadof_alias = []; c_xhp_attr_uses = [];
6 c_xhp_category = None; c_reqs = []; c_implements = []; c_implements_dynamic = false;
7 c_where_constraints = []; c_consts = []; c_typeconsts = []; c_vars = [];
8 c_methods =
9 [{ m_span = [4:3-42]; m_annotation = (); m_final = false; m_abstract = false;
10 m_static = false; m_readonly_this = false; m_visibility = Public;
11 m_name = ([4:19-20], "e"); m_tparams = []; m_where_constraints = [];
12 m_variadic = FVnonVariadic;
13 m_params =
14 [{ param_annotation = ([4:30-32], vec<int>); param_type_hint = ((vec<int>), (Some ([4:21-29], (Happly (([4:21-24], "\\HH\\vec"), [([4:25-28], (Hprim Tint))])))));
15 param_is_variadic = false; param_pos = [4:30-32]; param_name = "$e";
16 param_expr = None; param_readonly = None; param_callconv = None;
17 param_user_attributes = []; param_visibility = None }
19 m_ctxs = None; m_unsafe_ctxs = None; m_body = { fb_ast = [([Pos.none], Noop)]; fb_annotation = () };
20 m_fun_kind = FSync; m_user_attributes = []; m_readonly_ret = None;
21 m_ret = ((void), (Some ([4:35-39], (Hprim Tvoid)))); m_external = false;
22 m_doc_comment = None }
24 c_attributes = []; c_xhp_children = []; c_xhp_attrs = [];
25 c_namespace =
26 { Namespace_env.ns_ns_uses = <opaque>; ns_class_uses = <opaque>;
27 ns_record_def_uses = <opaque>; ns_fun_uses = <opaque>; ns_const_uses = <opaque>;
28 ns_name = None; ns_auto_ns_map = []; ns_is_codegen = false; ns_disable_xhp_element_mangling = false };
29 c_user_attributes = []; c_file_attributes = []; c_enum = None;
30 c_doc_comment = None; c_emit_id = None });
31 (Fun
32 { f_span = [7:1-33]; f_readonly_this = None; f_annotation = ();
33 f_mode = Mstrict; f_readonly_ret = None; f_ret = ((void), (Some ([7:26-30], (Hprim Tvoid))));
34 f_name = ([7:10-11], "\\e"); f_tparams = []; f_where_constraints = [];
35 f_variadic = FVnonVariadic;
36 f_params =
37 [{ param_annotation = ([7:21-23], vec<int>); param_type_hint = ((vec<int>), (Some ([7:12-20], (Happly (([7:12-15], "\\HH\\vec"), [([7:16-19], (Hprim Tint))])))));
38 param_is_variadic = false; param_pos = [7:21-23]; param_name = "$e";
39 param_expr = None; param_readonly = None; param_callconv = None;
40 param_user_attributes = []; param_visibility = None }
42 f_ctxs = None; f_unsafe_ctxs = None; f_body = { fb_ast = [([Pos.none], Noop)]; fb_annotation = () };
43 f_fun_kind = FSync; f_user_attributes = []; f_file_attributes = [];
44 f_external = false;
45 f_namespace =
46 { Namespace_env.ns_ns_uses = <opaque>; ns_class_uses = <opaque>;
47 ns_record_def_uses = <opaque>; ns_fun_uses = <opaque>; ns_const_uses = <opaque>;
48 ns_name = None; ns_auto_ns_map = []; ns_is_codegen = false;
49 ns_disable_xhp_element_mangling = false };
50 f_doc_comment = None });
51 (Fun
52 { f_span = [9:1-19:2]; f_readonly_this = None; f_annotation = ();
53 f_mode = Mstrict; f_readonly_ret = None; f_ret = ((void), (Some ([11:4-8], (Hprim Tvoid))));
54 f_name = ([9:10-18], "\\call_vec"); f_tparams = []; f_where_constraints = [];
55 f_variadic = FVnonVariadic;
56 f_params =
57 [{ param_annotation = ([10:14-16], vec<float>); param_type_hint = ((vec<float>), (Some ([10:3-13], (Happly (([10:3-6], "\\HH\\vec"), [([10:7-12], (Hprim Tfloat))])))));
58 param_is_variadic = false; param_pos = [10:14-16]; param_name = "$e";
59 param_expr = None; param_readonly = None; param_callconv = None;
60 param_user_attributes = []; param_visibility = None }
62 f_ctxs = None; f_unsafe_ctxs = None;
63 f_body =
64 { fb_ast =
65 [([13:3-9],
66 (Expr
67 (([13:3-8], void),
68 (Call ((([13:3-4], (function(vec<int> $e): void)), (Id ([13:3-4], "\\e"))),
69 [], [(([13:5-7], vec<float>), (Hole ((([13:5-7], vec<float>), (Lvar ([13:5-7], $e))), (vec<float>), (vec<int>), Typing)))], None)))));
70 ([15:3-24],
71 (Expr
72 (([15:3-23], TestVec),
73 (Binop ((Eq None), (([15:3-7], TestVec), (Lvar ([15:3-7], $foo))),
74 (([15:10-23], TestVec), (New ((([15:14-21], TestVec), (CI ([15:14-21], "\\TestVec"))), [], [], None, ([15:14-21], _)))))))));
75 ([18:3-15],
76 (Expr
77 (([18:3-14], void),
78 (Call (
79 (([18:3-10], (function(vec<int> $e): void)),
80 (Obj_get ((([18:3-7], TestVec), (Lvar ([18:3-7], $foo))), (([18:9-10], (function(vec<int> $e): void)), (Id ([18:9-10], "e"))), OG_nullthrows, false))),
81 [], [(([18:11-13], vec<float>), (Hole ((([18:11-13], vec<float>), (Lvar ([18:11-13], $e))), (vec<float>), (vec<int>), Typing)))], None)))))
83 fb_annotation = () };
84 f_fun_kind = FSync; f_user_attributes = []; f_file_attributes = [];
85 f_external = false;
86 f_namespace =
87 { Namespace_env.ns_ns_uses = <opaque>; ns_class_uses = <opaque>;
88 ns_record_def_uses = <opaque>; ns_fun_uses = <opaque>; ns_const_uses = <opaque>;
89 ns_name = None; ns_auto_ns_map = []; ns_is_codegen = false;
90 ns_disable_xhp_element_mangling = false };
91 f_doc_comment = None });
92 (Fun
93 { f_span = [21:1-31:2]; f_readonly_this = None; f_annotation = ();
94 f_mode = Mstrict; f_readonly_ret = None; f_ret = ((void), (Some ([23:4-8], (Hprim Tvoid))));
95 f_name = ([21:10-23], "\\call_vec_cast"); f_tparams = []; f_where_constraints = [];
96 f_variadic = FVnonVariadic;
97 f_params =
98 [{ param_annotation = ([22:14-16], vec<float>); param_type_hint = ((vec<float>), (Some ([22:3-13], (Happly (([22:3-6], "\\HH\\vec"), [([22:7-12], (Hprim Tfloat))])))));
99 param_is_variadic = false; param_pos = [22:14-16]; param_name = "$e";
100 param_expr = None; param_readonly = None; param_callconv = None;
101 param_user_attributes = []; param_visibility = None }
103 f_ctxs = None; f_unsafe_ctxs = None;
104 f_body =
105 { fb_ast =
106 [([25:3-43],
107 (Expr
108 (([25:3-42], void),
109 (Call ((([25:3-4], (function(vec<int> $e): void)), (Id ([25:3-4], "\\e"))),
110 [], [(([25:5-41], vec<int>), (Hole ((([25:38-40], vec<float>), (Lvar ([25:38-40], $e))), (vec<float>), (vec<int>), UnsafeCast)))], None)))));
111 ([27:3-24],
112 (Expr
113 (([27:3-23], TestVec),
114 (Binop ((Eq None), (([27:3-7], TestVec), (Lvar ([27:3-7], $foo))),
115 (([27:10-23], TestVec), (New ((([27:14-21], TestVec), (CI ([27:14-21], "\\TestVec"))), [], [], None, ([27:14-21], _)))))))));
116 ([30:3-49],
117 (Expr
118 (([30:3-48], void),
119 (Call (
120 (([30:3-10], (function(vec<int> $e): void)),
121 (Obj_get ((([30:3-7], TestVec), (Lvar ([30:3-7], $foo))), (([30:9-10], (function(vec<int> $e): void)), (Id ([30:9-10], "e"))), OG_nullthrows, false))),
122 [], [(([30:11-47], vec<int>), (Hole ((([30:44-46], vec<float>), (Lvar ([30:44-46], $e))), (vec<float>), (vec<int>), UnsafeCast)))], None)))))
124 fb_annotation = () };
125 f_fun_kind = FSync; f_user_attributes = []; f_file_attributes = [];
126 f_external = false;
127 f_namespace =
128 { Namespace_env.ns_ns_uses = <opaque>; ns_class_uses = <opaque>;
129 ns_record_def_uses = <opaque>; ns_fun_uses = <opaque>; ns_const_uses = <opaque>;
130 ns_name = None; ns_auto_ns_map = []; ns_is_codegen = false;
131 ns_disable_xhp_element_mangling = false };
132 f_doc_comment = None })