Add declarations for internal keyword in direct decl and legacy parsers
[hiphop-php.git] / hphp / hack / test / decl / constraints_mentioning_tparams_in_same_list.php.exp
blobd821aca0589de46db8e4eceae9d0091245e60101
1 [("\\E",
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-8], "\\E");
7 sc_tparams =
8 [{ Typing_defs_core.tp_variance = Invariant;
9 tp_name = ([3:9-11], "Ta"); tp_tparams = []; tp_constraints = [];
10 tp_reified = Erased; tp_user_attributes = [] };
11 { Typing_defs_core.tp_variance = Invariant;
12 tp_name = ([3:13-15], "Tb"); tp_tparams = []; tp_constraints = [];
13 tp_reified = Erased; tp_user_attributes = [] }
15 sc_where_constraints = []; sc_extends = []; sc_uses = [];
16 sc_xhp_attr_uses = []; sc_xhp_enum_values = {}; sc_req_extends = [];
17 sc_req_implements = []; sc_req_class = []; sc_implements = [];
18 sc_support_dynamic_type = false; sc_consts = []; sc_typeconsts = [];
19 sc_props = []; sc_sprops = []; sc_constructor = None;
20 sc_static_methods = []; sc_methods = []; sc_user_attributes = [];
21 sc_enum_type = None }));
22 ("\\I",
23 (Shallow_decl_defs.Class
24 { Shallow_decl_defs.sc_mode = Mstrict; sc_final = false;
25 sc_abstract = false; sc_is_xhp = false; sc_internal = false;
26 sc_has_xhp_keyword = false; sc_kind = Cinterface; sc_module = None;
27 sc_name = ([5:11-12], "\\I");
28 sc_tparams =
29 [{ Typing_defs_core.tp_variance = Invariant;
30 tp_name = ([6:3-5], "Ta"); tp_tparams = [];
31 tp_constraints =
32 [(Constraint_as, (Rhint ([6:9-17]), (Tprim Tarraykey)))];
33 tp_reified = Erased; tp_user_attributes = [] };
34 { Typing_defs_core.tp_variance = Invariant;
35 tp_name = ([7:3-5], "Tb"); tp_tparams = [];
36 tp_constraints =
37 [(Constraint_as, (Rhint ([7:9-11]), (Tgeneric ("Ta", []))))];
38 tp_reified = Erased; tp_user_attributes = [] };
39 { Typing_defs_core.tp_variance = Invariant;
40 tp_name = ([8:3-5], "Tc"); tp_tparams = [];
41 tp_constraints =
42 [(Constraint_as, (Rhint ([8:9-11]), (Tgeneric ("Td", []))))];
43 tp_reified = Erased; tp_user_attributes = [] };
44 { Typing_defs_core.tp_variance = Invariant;
45 tp_name = ([9:3-5], "Td"); tp_tparams = [];
46 tp_constraints =
47 [(Constraint_as,
48 (Rhint ([9:9-18]),
49 (Tapply (([9:9-10], "\\E"),
50 [(Rhint ([9:11-13]), (Tgeneric ("Ta", [])));
51 (Rhint ([9:15-17]), (Tgeneric ("Tf", [])))]
52 ))))
54 tp_reified = Erased; tp_user_attributes = [] };
55 { Typing_defs_core.tp_variance = Invariant;
56 tp_name = ([10:3-5], "Tf"); tp_tparams = []; tp_constraints = [];
57 tp_reified = Erased; tp_user_attributes = [] };
58 { Typing_defs_core.tp_variance = Invariant;
59 tp_name = ([11:3-7], "Tarr"); tp_tparams = [];
60 tp_constraints =
61 [(Constraint_as,
62 (Rhint ([11:11-21]),
63 (Tapply (([11:11-17], "\\HH\\vec"),
64 [(Rhint ([11:18-20]), (Tgeneric ("Ta", [])))]))))
66 tp_reified = Erased; tp_user_attributes = [] };
67 { Typing_defs_core.tp_variance = Invariant;
68 tp_name = ([12:3-8], "Tlike"); tp_tparams = [];
69 tp_constraints =
70 [(Constraint_as,
71 (Rhint ([12:12-15]),
72 (Tlike (Rhint ([12:13-15]), (Tgeneric ("Ta", []))))))
74 tp_reified = Erased; tp_user_attributes = [] };
75 { Typing_defs_core.tp_variance = Invariant;
76 tp_name = ([13:3-7], "Topt"); tp_tparams = [];
77 tp_constraints =
78 [(Constraint_as,
79 (Rhint ([13:11-14]),
80 (Toption (Rhint ([13:12-14]), (Tgeneric ("Ta", []))))))
82 tp_reified = Erased; tp_user_attributes = [] };
83 { Typing_defs_core.tp_variance = Invariant;
84 tp_name = ([14:3-7], "Tfun"); tp_tparams = [];
85 tp_constraints =
86 [(Constraint_as,
87 (Rhint ([14:11-29]),
88 (Tfun
89 { ft_tparams = []; ft_where_constraints = [];
90 ft_params =
91 [{ fp_pos = [14:21-23]; fp_name = None;
92 fp_type =
93 { et_enforced = Typing_defs_core.Unenforced;
94 et_type =
95 (Rhint ([14:21-23]), (Tgeneric ("Ta", []))) };
96 fp_flags =
97 (make_fp_flags ~accept_disposable:false
98 ~has_default:false ~mode:Typing_defs_core.FPnormal
99 ~ifc_external:false ~ifc_can_call:false
100 ~readonly:false);
103 ft_implicit_params =
104 { capability = (CapDefaults [14:11-29]) };
105 ft_ret =
106 { et_enforced = Typing_defs_core.Unenforced;
107 et_type = (Rhint ([14:26-28]), (Tgeneric ("Tb", []))) };
108 ft_flags =
109 (make_ft_flags FSync ~return_disposable:false
110 ~returns_readonly:false ~support_dynamic_type:false
111 ~readonly_this:false ~is_memoized:false
112 ~variadic:false);
113 ft_ifc_decl = FDPolicied {PUBLIC} })))
115 tp_reified = Erased; tp_user_attributes = [] };
116 { Typing_defs_core.tp_variance = Invariant;
117 tp_name = ([15:3-9], "Tshape"); tp_tparams = [];
118 tp_constraints =
119 [(Constraint_as,
120 (Rhint ([15:13-29]),
121 (Tshape (Typing_defs_core.Closed_shape,
122 { (Typing_defs_core.TSFlit_str ([15:19-22], "a")) ->
123 { sft_optional = false;
124 sft_ty = (Rhint ([15:26-28]), (Tgeneric ("Ta", []))) } }
125 ))))
127 tp_reified = Erased; tp_user_attributes = [] };
128 { Typing_defs_core.tp_variance = Invariant;
129 tp_name = ([16:3-8], "Tdarr"); tp_tparams = [];
130 tp_constraints =
131 [(Constraint_as,
132 (Rhint ([16:12-26]),
133 (Tapply (([16:12-18], "\\HH\\dict"),
134 [(Rhint ([16:19-21]), (Tgeneric ("Ta", [])));
135 (Rhint ([16:23-25]), (Tgeneric ("Tb", [])))]
136 ))))
138 tp_reified = Erased; tp_user_attributes = [] };
139 { Typing_defs_core.tp_variance = Invariant;
140 tp_name = ([17:3-8], "Tvarr"); tp_tparams = [];
141 tp_constraints =
142 [(Constraint_as,
143 (Rhint ([17:12-22]),
144 (Tapply (([17:12-18], "\\HH\\vec"),
145 [(Rhint ([17:19-21]), (Tgeneric ("Ta", [])))]))))
147 tp_reified = Erased; tp_user_attributes = [] };
148 { Typing_defs_core.tp_variance = Invariant;
149 tp_name = ([18:3-9], "Tvdarr"); tp_tparams = [];
150 tp_constraints =
151 [(Constraint_as,
152 (Rhint ([18:13-37]),
153 (Tvec_or_dict (Rhint ([18:30-32]), (Tgeneric ("Ta", []))),
154 (Rhint ([18:34-36]), (Tgeneric ("Tb", []))))))
156 tp_reified = Erased; tp_user_attributes = [] };
157 { Typing_defs_core.tp_variance = Invariant;
158 tp_name = ([19:3-9], "Ttuple"); tp_tparams = [];
159 tp_constraints =
160 [(Constraint_as,
161 (Rhint ([19:13-21]),
162 (Ttuple
163 [(Rhint ([19:14-16]), (Tgeneric ("Ta", [])));
164 (Rhint ([19:18-20]), (Tgeneric ("Tb", [])))])))
166 tp_reified = Erased; tp_user_attributes = [] }
168 sc_where_constraints = []; sc_extends = []; sc_uses = [];
169 sc_xhp_attr_uses = []; sc_xhp_enum_values = {}; sc_req_extends = [];
170 sc_req_implements = []; sc_req_class = []; sc_implements = [];
171 sc_support_dynamic_type = false; sc_consts = []; sc_typeconsts = [];
172 sc_props = []; sc_sprops = []; sc_constructor = None;
173 sc_static_methods = []; sc_methods = []; sc_user_attributes = [];
174 sc_enum_type = None }))
177 They matched!