Support is and as
[hiphop-php.git] / hphp / hack / test / decl / generic_classes.php.exp
blobd997401c7714b73fb2fcc74bbb2341bca154c79b
1 [("\\Bag",
2 (Shallow_decl_defs.Class
3 { Shallow_decl_defs.sc_mode = Mstrict; sc_final = false;
4 sc_abstract = false; sc_is_xhp = false; sc_internal = false;
5 sc_has_xhp_keyword = false; sc_kind = (Cclass Concrete);
6 sc_module = None; sc_name = ([3:7-10], "\\Bag");
7 sc_tparams =
8 [{ Typing_defs_core.tp_variance = Invariant;
9 tp_name = ([3:11-12], "T"); tp_tparams = []; tp_constraints = [];
10 tp_reified = Erased; tp_user_attributes = [] }
12 sc_where_constraints = []; sc_extends = []; sc_uses = [];
13 sc_xhp_attr_uses = []; sc_xhp_enum_values = {}; sc_req_extends = [];
14 sc_req_implements = []; sc_req_class = []; sc_implements = [];
15 sc_support_dynamic_type = false; sc_consts = []; sc_typeconsts = [];
16 sc_props =
17 [{ Shallow_decl_defs.sp_name = ([4:13-18], "data");
18 sp_xhp_attr = None;
19 sp_type = (Some (Rhint ([4:11-12]), (Tgeneric ("T", []))));
20 sp_visibility = Private; sp_flags = needs_init }
22 sc_sprops = [];
23 sc_constructor =
24 (Some { Shallow_decl_defs.sm_name = ([6:19-30], "__construct");
25 sm_type =
26 (Rwitness_from_decl ([6:19-30]),
27 (Tfun
28 { ft_tparams = []; ft_where_constraints = [];
29 ft_params =
30 [{ fp_pos = [6:33-38]; fp_name = (Some "$data");
31 fp_type =
32 { et_enforced = Typing_defs_core.Unenforced;
33 et_type = (Rhint ([6:31-32]), (Tgeneric ("T", [])))
35 fp_flags =
36 (make_fp_flags ~accept_disposable:false
37 ~has_default:false ~mode:Typing_defs_core.FPnormal
38 ~ifc_external:false ~ifc_can_call:false
39 ~readonly:false);
42 ft_implicit_params =
43 { capability = (CapDefaults [6:19-30]) };
44 ft_ret =
45 { et_enforced = Typing_defs_core.Unenforced;
46 et_type =
47 (Rwitness_from_decl ([6:19-30]), (Tprim Tvoid)) };
48 ft_flags =
49 (make_ft_flags FSync ~return_disposable:false
50 ~returns_readonly:false ~support_dynamic_type:false
51 ~readonly_this:false ~is_memoized:false
52 ~variadic:false);
53 ft_ifc_decl = FDPolicied {PUBLIC} }));
54 sm_visibility = Public; sm_deprecated = None;
55 sm_flags = (empty); sm_attributes = [] });
56 sc_static_methods = [];
57 sc_methods =
58 [{ Shallow_decl_defs.sm_name = ([10:19-22], "get");
59 sm_type =
60 (Rwitness_from_decl ([10:19-22]),
61 (Tfun
62 { ft_tparams = []; ft_where_constraints = []; ft_params = [];
63 ft_implicit_params =
64 { capability = (CapDefaults [10:19-22]) };
65 ft_ret =
66 { et_enforced = Typing_defs_core.Unenforced;
67 et_type = (Rhint ([10:26-27]), (Tgeneric ("T", []))) };
68 ft_flags =
69 (make_ft_flags FSync ~return_disposable:false
70 ~returns_readonly:false ~support_dynamic_type:false
71 ~readonly_this:false ~is_memoized:false ~variadic:false);
72 ft_ifc_decl = FDPolicied {PUBLIC} }));
73 sm_visibility = Public; sm_deprecated = None; sm_flags = (empty);
74 sm_attributes = [] }
76 sc_user_attributes = []; sc_enum_type = None }));
77 ("\\ContravariantBag",
78 (Shallow_decl_defs.Class
79 { Shallow_decl_defs.sc_mode = Mstrict; sc_final = false;
80 sc_abstract = false; sc_is_xhp = false; sc_internal = false;
81 sc_has_xhp_keyword = false; sc_kind = (Cclass Concrete);
82 sc_module = None; sc_name = ([15:7-23], "\\ContravariantBag");
83 sc_tparams =
84 [{ Typing_defs_core.tp_variance = Contravariant;
85 tp_name = ([15:25-26], "T"); tp_tparams = []; tp_constraints = [];
86 tp_reified = Erased; tp_user_attributes = [] }
88 sc_where_constraints = []; sc_extends = []; sc_uses = [];
89 sc_xhp_attr_uses = []; sc_xhp_enum_values = {}; sc_req_extends = [];
90 sc_req_implements = []; sc_req_class = []; sc_implements = [];
91 sc_support_dynamic_type = false; sc_consts = []; sc_typeconsts = [];
92 sc_props =
93 [{ Shallow_decl_defs.sp_name = ([16:13-18], "data");
94 sp_xhp_attr = None;
95 sp_type = (Some (Rhint ([16:11-12]), (Tgeneric ("T", []))));
96 sp_visibility = Private; sp_flags = needs_init }
98 sc_sprops = [];
99 sc_constructor =
100 (Some { Shallow_decl_defs.sm_name = ([18:19-30], "__construct");
101 sm_type =
102 (Rwitness_from_decl ([18:19-30]),
103 (Tfun
104 { ft_tparams = []; ft_where_constraints = [];
105 ft_params =
106 [{ fp_pos = [18:33-38]; fp_name = (Some "$data");
107 fp_type =
108 { et_enforced = Typing_defs_core.Unenforced;
109 et_type =
110 (Rhint ([18:31-32]), (Tgeneric ("T", []))) };
111 fp_flags =
112 (make_fp_flags ~accept_disposable:false
113 ~has_default:false ~mode:Typing_defs_core.FPnormal
114 ~ifc_external:false ~ifc_can_call:false
115 ~readonly:false);
118 ft_implicit_params =
119 { capability = (CapDefaults [18:19-30]) };
120 ft_ret =
121 { et_enforced = Typing_defs_core.Unenforced;
122 et_type =
123 (Rwitness_from_decl ([18:19-30]), (Tprim Tvoid)) };
124 ft_flags =
125 (make_ft_flags FSync ~return_disposable:false
126 ~returns_readonly:false ~support_dynamic_type:false
127 ~readonly_this:false ~is_memoized:false
128 ~variadic:false);
129 ft_ifc_decl = FDPolicied {PUBLIC} }));
130 sm_visibility = Public; sm_deprecated = None;
131 sm_flags = (empty); sm_attributes = [] });
132 sc_static_methods = []; sc_methods = []; sc_user_attributes = [];
133 sc_enum_type = None }));
134 ("\\CovariantBag",
135 (Shallow_decl_defs.Class
136 { Shallow_decl_defs.sc_mode = Mstrict; sc_final = false;
137 sc_abstract = false; sc_is_xhp = false; sc_internal = false;
138 sc_has_xhp_keyword = false; sc_kind = (Cclass Concrete);
139 sc_module = None; sc_name = ([23:7-19], "\\CovariantBag");
140 sc_tparams =
141 [{ Typing_defs_core.tp_variance = Covariant;
142 tp_name = ([23:21-22], "T"); tp_tparams = []; tp_constraints = [];
143 tp_reified = Erased; tp_user_attributes = [] }
145 sc_where_constraints = []; sc_extends = []; sc_uses = [];
146 sc_xhp_attr_uses = []; sc_xhp_enum_values = {}; sc_req_extends = [];
147 sc_req_implements = []; sc_req_class = []; sc_implements = [];
148 sc_support_dynamic_type = false; sc_consts = []; sc_typeconsts = [];
149 sc_props =
150 [{ Shallow_decl_defs.sp_name = ([24:13-18], "data");
151 sp_xhp_attr = None;
152 sp_type = (Some (Rhint ([24:11-12]), (Tgeneric ("T", []))));
153 sp_visibility = Private; sp_flags = needs_init }
155 sc_sprops = [];
156 sc_constructor =
157 (Some { Shallow_decl_defs.sm_name = ([26:19-30], "__construct");
158 sm_type =
159 (Rwitness_from_decl ([26:19-30]),
160 (Tfun
161 { ft_tparams = []; ft_where_constraints = [];
162 ft_params =
163 [{ fp_pos = [26:33-38]; fp_name = (Some "$data");
164 fp_type =
165 { et_enforced = Typing_defs_core.Unenforced;
166 et_type =
167 (Rhint ([26:31-32]), (Tgeneric ("T", []))) };
168 fp_flags =
169 (make_fp_flags ~accept_disposable:false
170 ~has_default:false ~mode:Typing_defs_core.FPnormal
171 ~ifc_external:false ~ifc_can_call:false
172 ~readonly:false);
175 ft_implicit_params =
176 { capability = (CapDefaults [26:19-30]) };
177 ft_ret =
178 { et_enforced = Typing_defs_core.Unenforced;
179 et_type =
180 (Rwitness_from_decl ([26:19-30]), (Tprim Tvoid)) };
181 ft_flags =
182 (make_ft_flags FSync ~return_disposable:false
183 ~returns_readonly:false ~support_dynamic_type:false
184 ~readonly_this:false ~is_memoized:false
185 ~variadic:false);
186 ft_ifc_decl = FDPolicied {PUBLIC} }));
187 sm_visibility = Public; sm_deprecated = None;
188 sm_flags = (empty); sm_attributes = [] });
189 sc_static_methods = [];
190 sc_methods =
191 [{ Shallow_decl_defs.sm_name = ([30:19-22], "get");
192 sm_type =
193 (Rwitness_from_decl ([30:19-22]),
194 (Tfun
195 { ft_tparams = []; ft_where_constraints = []; ft_params = [];
196 ft_implicit_params =
197 { capability = (CapDefaults [30:19-22]) };
198 ft_ret =
199 { et_enforced = Typing_defs_core.Unenforced;
200 et_type = (Rhint ([30:26-27]), (Tgeneric ("T", []))) };
201 ft_flags =
202 (make_ft_flags FSync ~return_disposable:false
203 ~returns_readonly:false ~support_dynamic_type:false
204 ~readonly_this:false ~is_memoized:false ~variadic:false);
205 ft_ifc_decl = FDPolicied {PUBLIC} }));
206 sm_visibility = Public; sm_deprecated = None; sm_flags = (empty);
207 sm_attributes = [] }
209 sc_user_attributes = []; sc_enum_type = None }))
212 They matched!