Typing changes for reactive functions
[hiphop-php.git] / hphp / hack / src / utils / errors / errors_sig.ml
bloba8860585a98fcd257015429f544445bb8ced239e
1 (**
2 * Copyright (c) 2015, Facebook, Inc.
3 * All rights reserved.
5 * This source code is licensed under the BSD-style license found in the
6 * LICENSE file in the "hack" directory of this source tree. An additional grant
7 * of patent rights can be found in the PATENTS file in the same directory.
9 *)
11 module type S = sig
12 type 'a error_
13 type error = Pos.t error_
14 type applied_fixme = Pos.t * int
15 type error_flags
17 val ignored_fixme_codes : ISet.t ref
19 val set_ignored_fixmes : Relative_path.t list option -> unit
20 val is_hh_fixme : (Pos.t -> int -> bool) ref
21 val get_hh_fixme_pos : (Pos.t -> int -> Pos.t option) ref
22 val to_list : 'a error_ -> ('a * string) list
23 val get_code : 'a error_ -> int
24 val get_pos : error -> Pos.t
25 val make_error : int -> (Pos.t * string) list -> error
27 val error_code_to_string : int -> string
29 val internal_error : Pos.t -> string -> unit
30 val unimplemented_feature : Pos.t -> string -> unit
31 val experimental_feature : Pos.t -> string -> unit
33 val fixme_format : Pos.t -> unit
34 val typeparam_alok : Pos.t * string -> unit
35 val unexpected_eof : Pos.t -> unit
36 val missing_field : Pos.t -> Pos.t -> string -> unit
37 val generic_class_var : Pos.t -> unit
38 val explain_constraint :
39 use_pos:Pos.t -> definition_pos:Pos.t -> param_name:string -> error -> unit
40 val explain_where_constraint :
41 use_pos:Pos.t -> definition_pos:Pos.t -> error -> unit
42 val explain_tconst_where_constraint :
43 use_pos:Pos.t -> definition_pos:Pos.t -> error -> unit
44 val explain_type_constant : (Pos.t * string) list -> error -> unit
45 val unexpected_arrow : Pos.t -> string -> unit
46 val missing_arrow : Pos.t -> string -> unit
47 val disallowed_xhp_type : Pos.t -> string -> unit
48 val overflow : Pos.t -> unit
49 val unterminated_comment : Pos.t -> unit
50 val unterminated_xhp_comment : Pos.t -> unit
51 val name_already_bound : string -> Pos.t -> Pos.t -> unit
52 val name_is_reserved : string -> Pos.t -> unit
53 val dollardollar_unused : Pos.t -> unit
54 val assigning_to_const : Pos.t -> unit
55 val self_const_parent_not : Pos.t -> unit
56 val parent_const_self_not : Pos.t -> unit
57 val method_name_already_bound : Pos.t -> string -> unit
58 val error_name_already_bound : string -> string -> Pos.t -> Pos.t -> unit
59 val unbound_name : Pos.t -> string -> [< `cls | `func | `const ] -> unit
60 val different_scope : Pos.t -> string -> Pos.t -> unit
61 val undefined : Pos.t -> string -> unit
62 val this_reserved : Pos.t -> unit
63 val start_with_T : Pos.t -> unit
64 val already_bound : Pos.t -> string -> unit
65 val unexpected_typedef : Pos.t -> Pos.t -> unit
66 val fd_name_already_bound : Pos.t -> unit
67 val primitive_toplevel : Pos.t -> unit
68 val primitive_invalid_alias : Pos.t -> string -> string -> unit
69 val dynamic_new_in_strict_mode : Pos.t -> unit
70 val void_cast: Pos.t -> unit
71 val object_cast: Pos.t -> string -> unit
72 val unset_cast: Pos.t -> unit
73 val this_no_argument : Pos.t -> unit
74 val this_hint_outside_class : Pos.t -> unit
75 val this_type_forbidden : Pos.t -> unit
76 val lowercase_this : Pos.t -> string -> unit
77 val classname_param : Pos.t -> unit
78 val invalid_instanceof : Pos.t -> unit
79 val tparam_with_tparam : Pos.t -> string -> unit
80 val shadowed_type_param : Pos.t -> Pos.t -> string -> unit
81 val missing_typehint : Pos.t -> unit
82 val expected_variable : Pos.t -> unit
83 val clone_too_many_arguments : Pos.t -> unit
84 val naming_too_few_arguments : Pos.t -> unit
85 val naming_too_many_arguments : Pos.t -> unit
86 val expected_collection : Pos.t -> string -> unit
87 val illegal_CLASS : Pos.t -> unit
88 val illegal_TRAIT : Pos.t -> unit
89 val dynamic_method_call : Pos.t -> unit
90 val nullsafe_property_write_context : Pos.t -> unit
91 val illegal_fun : Pos.t -> unit
92 val illegal_member_variable_class : Pos.t -> unit
93 val illegal_meth_fun : Pos.t -> unit
94 val illegal_inst_meth : Pos.t -> unit
95 val illegal_meth_caller : Pos.t -> unit
96 val illegal_class_meth : Pos.t -> unit
97 val assert_arity : Pos.t -> unit
98 val gena_arity : Pos.t -> unit
99 val genva_arity : Pos.t -> unit
100 val gen_array_rec_arity : Pos.t -> unit
101 val uninstantiable_class : Pos.t -> Pos.t -> string -> (Pos.t * string) list
102 -> unit
103 val abstract_const_usage: Pos.t -> Pos.t -> string -> unit
104 val typedef_constraint : Pos.t -> unit
105 val add_a_typehint : Pos.t -> unit
106 val local_const : Pos.t -> unit
107 val illegal_constant : Pos.t -> unit
108 val parsing_error : Pos.t * string -> unit
109 val format_string :
110 Pos.t -> string -> string -> Pos.t -> string -> string -> unit
111 val expected_literal_string : Pos.t -> unit
112 val generic_array_strict : Pos.t -> unit
113 val strict_members_not_known : Pos.t -> string -> unit
114 val option_return_only_typehint : Pos.t -> [< `void | `noreturn ] -> unit
115 val tuple_syntax : Pos.t -> unit
116 val class_arity : Pos.t -> Pos.t -> string -> int -> unit
117 val expecting_type_hint : Pos.t -> unit
118 val expecting_type_hint_suggest : Pos.t -> string -> unit
119 val expecting_return_type_hint : Pos.t -> unit
120 val expecting_return_type_hint_suggest : Pos.t -> string -> unit
121 val expecting_awaitable_return_type_hint : Pos.t -> unit
122 val field_kinds : Pos.t -> Pos.t -> unit
123 val unbound_name_typing : Pos.t -> string -> unit
124 val did_you_mean_naming : Pos.t -> string -> Pos.t -> string -> unit
125 val previous_default : Pos.t -> unit
126 val return_only_typehint : Pos.t -> [< `void | `noreturn ] -> unit
127 val unexpected_type_arguments : Pos.t -> unit
128 val too_many_type_arguments : Pos.t -> unit
129 val return_in_void : Pos.t -> Pos.t -> unit
130 val this_in_static : Pos.t -> unit
131 val this_var_outside_class : Pos.t -> unit
132 val unbound_global : Pos.t -> unit
133 val private_inst_meth : Pos.t -> Pos.t -> unit
134 val protected_inst_meth : Pos.t -> Pos.t -> unit
135 val private_class_meth : Pos.t -> Pos.t -> unit
136 val protected_class_meth : Pos.t -> Pos.t -> unit
137 val array_cast : Pos.t -> unit
138 val anonymous_recursive : Pos.t -> unit
139 val static_outside_class : Pos.t -> unit
140 val self_outside_class : Pos.t -> unit
141 val new_inconsistent_construct : Pos.t -> (Pos.t * string)
142 -> [< `static | `classname ] -> unit
143 val pair_arity : Pos.t -> unit
144 val tuple_arity : Pos.t -> int -> Pos.t -> int -> unit
145 val undefined_parent : Pos.t -> unit
146 val parent_outside_class : Pos.t -> unit
147 val parent_abstract_call : string -> Pos.t -> Pos.t -> unit
148 val self_abstract_call : string -> Pos.t -> Pos.t -> unit
149 val classname_abstract_call : string -> string -> Pos.t -> Pos.t -> unit
150 val static_synthetic_method : string -> string -> Pos.t -> Pos.t -> unit
151 val empty_in_strict : Pos.t -> unit
152 val isset_in_strict : Pos.t -> unit
153 val unset_nonidx_in_strict : Pos.t -> (Pos.t * string) list -> unit
154 val unpacking_disallowed_builtin_function : Pos.t -> string -> unit
155 val array_get_arity : Pos.t -> string -> Pos.t -> unit
156 val typing_error : Pos.t -> string -> unit
157 val typing_error_l : error -> unit
158 val undefined_field : Pos.t -> string -> unit
159 val array_access : Pos.t -> Pos.t -> string -> unit
160 val keyset_set : Pos.t -> Pos.t -> unit
161 val array_append : Pos.t -> Pos.t -> string -> unit
162 val const_mutation : Pos.t -> Pos.t -> string -> unit
163 val expected_class : ?suffix:string -> Pos.t -> unit
164 val smember_not_found :
165 [< `class_constant | `class_variable | `static_method | `class_typeconst] ->
166 Pos.t ->
167 Pos.t * string ->
168 string ->
169 [< `closest of Pos.t * string
170 | `did_you_mean of Pos.t * string
171 | `no_hint ] ->
172 unit
173 val not_found_hint :
174 [< `closest of 'a * string | `did_you_mean of 'a * string | `no_hint ] ->
175 ('a * string) list
176 val member_not_found :
177 [< `member | `method_ ] ->
178 Pos.t ->
179 Pos.t * string ->
180 string ->
181 [< `closest of Pos.t * string
182 | `did_you_mean of Pos.t * string
183 | `no_hint ] ->
184 (Pos.t * string) list ->
185 unit
186 val parent_in_trait : Pos.t -> unit
187 val parent_undefined : Pos.t -> unit
188 val constructor_no_args : Pos.t -> unit
189 val visibility : Pos.t -> string -> Pos.t -> string -> unit
190 val typing_too_many_args : Pos.t -> Pos.t -> unit
191 val typing_too_few_args : Pos.t -> Pos.t -> unit
192 val anonymous_recursive_call : Pos.t -> unit
193 val bad_call : Pos.t -> string -> unit
194 val sketchy_null_check : Pos.t -> unit
195 val sketchy_null_check_primitive : Pos.t -> unit
196 val extend_final : Pos.t -> Pos.t -> string -> unit
197 val read_before_write : Pos.t * string -> unit
198 val interface_final : Pos.t -> unit
199 val trait_final : Pos.t -> unit
200 val implement_abstract :
201 is_final:bool -> Pos.t -> Pos.t -> string -> string -> unit
202 val generic_static : Pos.t -> string -> unit
203 val fun_too_many_args : Pos.t -> Pos.t -> unit
204 val fun_too_few_args : Pos.t -> Pos.t -> unit
205 val fun_unexpected_nonvariadic : Pos.t -> Pos.t -> unit
206 val fun_variadicity_hh_vs_php56 : Pos.t -> Pos.t -> unit
207 val expected_tparam : Pos.t -> int -> unit
208 val object_string : Pos.t -> Pos.t -> unit
209 val type_param_arity : Pos.t -> string -> string -> unit
210 val cyclic_typedef : Pos.t -> unit
211 val type_arity_mismatch : Pos.t -> string -> Pos.t -> string -> unit
212 val this_final : Pos.t * string -> Pos.t -> error -> unit
213 val exact_class_final : Pos.t * string -> Pos.t -> error -> unit
214 val tuple_arity_mismatch : Pos.t -> string -> Pos.t -> string -> unit
215 val fun_arity_mismatch : Pos.t -> Pos.t -> unit
216 val discarded_awaitable : Pos.t -> Pos.t -> unit
217 val gena_expects_array : Pos.t -> Pos.t -> string -> unit
218 val unify_error : (Pos.t * string) list -> (Pos.t * string) list -> unit
219 val static_dynamic : Pos.t -> Pos.t -> string -> unit
220 val null_member : string -> Pos.t -> (Pos.t * string) list -> unit
221 val non_object_member : string -> Pos.t -> string -> Pos.t -> unit
222 val ambiguous_member : string -> Pos.t -> string -> Pos.t -> unit
223 val null_container : Pos.t -> (Pos.t * string) list -> unit
224 val option_mixed : Pos.t -> unit
225 val declared_covariant : Pos.t -> Pos.t -> (Pos.t * string) list -> unit
226 val declared_contravariant : Pos.t -> Pos.t -> (Pos.t * string) list -> unit
227 val contravariant_this: Pos.t -> string -> string -> unit
228 val wrong_extend_kind : Pos.t -> string -> Pos.t -> string -> unit
229 val unsatisfied_req : Pos.t -> string -> Pos.t -> unit
230 val cyclic_class_def : SSet.t -> Pos.t -> unit
231 val trait_reuse : (Pos.t) -> string -> (Pos.t * string) -> string -> unit
232 val invalid_is_expression_hint : (Pos.t) -> string -> unit
233 val partially_valid_is_expression_hint : (Pos.t) -> string -> unit
234 val override_final : parent:Pos.t -> child:Pos.t -> unit
235 val should_be_override : Pos.t -> string -> string -> unit
236 val override_per_trait : Pos.t * string -> string -> Pos.t -> unit
237 val missing_assign : Pos.t -> unit
238 val private_override : Pos.t -> string -> string -> unit
239 val invalid_memoized_param : Pos.t -> (Pos.t * string) list -> unit
240 val no_construct_parent : Pos.t -> unit
241 val constructor_required : Pos.t * string -> SSet.t -> unit
242 val not_initialized : Pos.t * string -> SSet.t -> unit
243 val call_before_init : Pos.t -> string -> unit
244 val type_arity : Pos.t -> string -> string -> unit
245 val invalid_req_implements : Pos.t -> unit
246 val invalid_req_extends : Pos.t -> unit
247 val abstract_with_body : Pos.t * 'a -> unit
248 val not_abstract_without_body : Pos.t * 'a -> unit
249 val return_in_gen : Pos.t -> unit
250 val return_in_finally : Pos.t -> unit
251 val toplevel_break: Pos.t -> unit
252 val toplevel_continue: Pos.t -> unit
253 val continue_in_switch: Pos.t -> unit
254 val await_in_sync_function : Pos.t -> unit
255 val await_not_allowed : Pos.t -> unit
256 val async_in_interface : Pos.t -> unit
257 val await_in_coroutine : Pos.t -> unit
258 val yield_in_coroutine : Pos.t -> unit
259 val suspend_outside_of_coroutine : Pos.t -> unit
260 val suspend_in_finally : Pos.t -> unit
261 val break_continue_n_not_supported : Pos.t -> unit
262 val static_memoized_function : Pos.t -> unit
263 val magic : Pos.t * string -> unit
264 val non_interface : Pos.t -> string -> string -> unit
265 val toString_returns_string : Pos.t -> unit
266 val toString_visibility : Pos.t -> unit
267 val uses_non_trait : Pos.t -> string -> string -> unit
268 val requires_non_class : Pos.t -> string -> string -> unit
269 val abstract_body : Pos.t -> unit
270 val not_public_interface : Pos.t -> unit
271 val interface_with_member_variable : Pos.t -> unit
272 val interface_with_static_member_variable : Pos.t -> unit
273 val dangerous_method_name : Pos.t -> unit
274 val illegal_function_name : Pos.t -> string -> unit
275 val case_fallthrough : Pos.t -> Pos.t -> unit
276 val default_fallthrough : Pos.t -> unit
277 val visibility_extends : string -> Pos.t -> Pos.t -> string -> unit
278 val member_not_implemented : string -> Pos.t -> Pos.t -> Pos.t -> unit
279 val bad_decl_override : Pos.t -> string -> Pos.t -> string -> error -> unit
280 val bad_method_override : Pos.t -> string -> error -> unit
281 val bad_enum_decl : Pos.t -> error -> unit
282 val missing_constructor : Pos.t -> unit
283 val enum_constant_type_bad : Pos.t -> Pos.t -> string -> Pos.t list -> unit
284 val enum_type_bad : Pos.t -> string -> Pos.t list -> unit
285 val enum_type_typedef_mixed : Pos.t -> unit
286 val enum_switch_redundant : string -> Pos.t -> Pos.t -> unit
287 val enum_switch_nonexhaustive : Pos.t -> string list -> Pos.t -> unit
288 val enum_switch_redundant_default : Pos.t -> Pos.t -> unit
289 val enum_switch_not_const : Pos.t -> unit
290 val enum_switch_wrong_class : Pos.t -> string -> string -> unit
291 val invalid_shape_field_name : Pos.t -> unit
292 val invalid_shape_field_name_empty : Pos.t -> unit
293 val invalid_shape_field_name_number : Pos.t -> unit
294 val invalid_shape_field_type : Pos.t -> Pos.t -> string -> Pos.t list -> unit
295 val invalid_shape_field_literal : Pos.t -> Pos.t -> unit
296 val invalid_shape_field_const : Pos.t -> Pos.t -> unit
297 val shape_field_class_mismatch : Pos.t -> Pos.t -> string -> string -> unit
298 val shape_field_type_mismatch : Pos.t -> Pos.t -> string -> string -> unit
299 val shape_fields_unknown: Pos.t -> Pos.t -> unit
300 val invalid_shape_remove_key : Pos.t -> unit
301 val missing_optional_field : Pos.t -> Pos.t -> string -> unit
302 val shape_field_unset : Pos.t -> Pos.t -> string -> unit
303 val using_internal_class : Pos.t -> string -> unit
304 val nullsafe_not_needed : Pos.t -> (Pos.t * string) list -> unit
305 val trivial_strict_eq : Pos.t -> string -> (Pos.t * string) list
306 -> (Pos.t * string) list -> Pos.t list -> Pos.t list -> unit
307 val trivial_strict_not_nullable_compare_null : Pos.t -> string
308 -> (Pos.t * string) list -> unit
309 val void_usage : Pos.t -> (Pos.t * string) list -> unit
310 val noreturn_usage : Pos.t -> (Pos.t * string) list -> unit
311 val generic_at_runtime : Pos.t -> unit
312 val interface_with_partial_typeconst : Pos.t -> unit
313 val multiple_xhp_category : Pos.t -> unit
314 val not_abstract_without_typeconst : (Pos.t * string) -> unit
315 val typeconst_depends_on_external_tparam : Pos.t -> Pos.t -> string -> unit
316 val typeconst_assigned_tparam : Pos.t -> string -> unit
317 val invalid_type_access_root : (Pos.t * string) -> unit
318 val duplicate_user_attribute : (Pos.t * string) -> Pos.t -> unit
319 val unbound_attribute_name : Pos.t -> string -> unit
320 val attribute_too_many_arguments : Pos.t -> string -> int -> unit
321 val attribute_too_few_arguments : Pos.t -> string -> int -> unit
322 val attribute_param_type : Pos.t -> string -> unit
323 val deprecated_use : Pos.t -> Pos.t -> string -> unit
324 val abstract_with_typeconst : (Pos.t * string) -> unit
325 val cannot_declare_constant:
326 [< `enum | `trait] -> Pos.t -> (Pos.t * string) -> unit
327 val ambiguous_inheritance: Pos.t -> string -> string -> error -> unit
328 val cyclic_typeconst : Pos.t -> string list -> unit
329 val explain_contravariance : Pos.t -> string -> error -> unit
330 val explain_invariance : Pos.t -> string -> string -> error -> unit
331 val this_lvalue : Pos.t -> unit
332 val abstract_concrete_override:
333 Pos.t -> Pos.t -> [< `method_ | `typeconst |`constant]-> unit
334 val local_variable_modified_and_used : Pos.t -> Pos.t list -> unit
335 val local_variable_modified_twice : Pos.t -> Pos.t list -> unit
336 val assign_during_case : Pos.t -> unit
337 val cyclic_enum_constraint : Pos.t -> unit
338 val invalid_classname : Pos.t -> unit
339 val illegal_type_structure : Pos.t -> string -> unit
340 val illegal_typeconst_direct_access : Pos.t -> unit
341 val class_property_only_static_literal : Pos.t -> unit
342 val reference_expr : Pos.t -> unit
343 val unification_cycle : Pos.t -> string -> unit
344 val eq_incompatible_types : Pos.t -> (Pos.t * string) list
345 -> (Pos.t * string) list -> unit
346 val instanceof_always_false : Pos.t -> unit
347 val instanceof_always_true : Pos.t -> unit
348 val instanceof_generic_classname : Pos.t -> string -> unit
349 val final_property : Pos.t -> unit
350 val pass_by_ref_annotation_missing : Pos.t -> Pos.t -> unit
351 val reffiness_invariant : Pos.t -> Pos.t -> [< `normal | `inout ] -> unit
352 val pass_by_ref_annotation_unexpected : Pos.t -> Pos.t -> unit
353 val invalid_new_disposable : Pos.t -> unit
354 val invalid_disposable_hint : Pos.t -> string -> unit
356 val to_json : Pos.absolute error_ -> Hh_json.json
357 val to_string : ?indent:bool -> Pos.absolute error_ -> string
358 val try_ : (unit -> 'a) -> (error -> 'a) -> 'a
359 val try_with_error : (unit -> 'a) -> (unit -> 'a) -> 'a
360 val try_add_err : Pos.t -> string -> (unit -> 'a) -> (unit -> 'a) -> 'a
362 (* The type of collections of errors *)
363 type t
365 val do_ : (unit -> 'a) -> t * 'a * error_flags
366 val run_in_decl_mode : Relative_path.t -> (unit -> 'a) -> 'a
367 val get_lazy_decl_flag : error_flags -> Relative_path.t option
368 val ignore_ : (unit -> 'a) -> 'a
369 val try_when :
370 (unit -> 'a) -> when_:(unit -> bool) -> do_:(error -> unit) -> 'a
371 val has_no_errors : (unit -> 'a) -> bool
372 val must_error : (unit -> unit) -> (unit -> unit) -> unit
373 val to_absolute : error -> Pos.absolute error_
375 val merge : t -> t -> t
376 val empty : t
377 val is_empty : t -> bool
378 val get_error_list : t -> error list
379 val get_sorted_error_list : t -> error list
380 val from_error_list : error list -> t
381 val iter_error_list : (error -> unit) -> t -> unit
382 val get_applied_fixmes : t -> applied_fixme list
383 val darray_not_supported : Pos.t -> unit
384 val varray_not_supported : Pos.t -> unit
385 val too_few_type_arguments : Pos.t -> unit
386 val required_field_is_optional : Pos.t -> Pos.t -> string -> unit
387 val array_get_with_optional_field : Pos.t -> Pos.t -> string -> unit
388 val goto_label_already_defined : string -> Pos.t -> Pos.t -> unit
389 val goto_label_undefined : Pos.t -> string -> unit
390 val goto_label_defined_in_finally : Pos.t -> string -> unit
391 val goto_invoked_in_finally : Pos.t -> string -> unit
392 val dynamic_class_property_name_in_strict_mode : Pos.t -> unit
393 val dynamic_class_name_in_strict_mode : Pos.t -> unit
394 val reading_from_append: Pos.t -> unit
395 val const_attribute_prohibited: Pos.t -> string -> unit
396 val varray_or_darray_not_supported : Pos.t -> unit
397 val unknown_field_disallowed_in_shape : Pos.t -> Pos.t -> string -> unit
398 val nullable_cast : Pos.t -> string -> Pos.t -> unit
399 val non_call_argument_in_suspend : Pos.t -> (Pos.t * string) list -> unit
400 val non_coroutine_call_in_suspend : Pos.t -> (Pos.t * string) list -> unit
401 val coroutine_call_outside_of_suspend : Pos.t -> unit
402 val function_is_not_coroutine : Pos.t -> string -> unit
403 val coroutinness_mismatch : bool -> Pos.t -> Pos.t -> unit
404 val fun_reactivity_mismatch : Pos.t -> Pos.t -> unit
405 val this_as_lexical_variable : Pos.t -> unit
406 val dollardollar_lvalue : Pos.t -> unit
407 val duplicate_using_var : Pos.t -> unit
408 val illegal_disposable : Pos.t -> string -> unit
409 val escaping_disposable : Pos.t -> unit
410 val escaping_disposable_parameter : Pos.t -> unit
411 val escaping_this : Pos.t -> unit
412 val must_extend_disposable : Pos.t -> unit
413 val accept_disposable_invariant : Pos.t -> Pos.t -> unit
414 val inout_params_outside_of_sync : Pos.t -> unit
415 val inout_params_special : Pos.t -> unit
416 val inout_params_mix_byref : Pos.t -> Pos.t -> unit
417 val inout_params_memoize : Pos.t -> Pos.t -> unit
418 val obj_set_reactive : Pos.t -> unit
419 val global_in_reactive_context : Pos.t -> unit
420 val inout_annotation_missing : Pos.t -> Pos.t -> unit
421 val inout_annotation_unexpected : Pos.t -> Pos.t -> unit
422 val inoutness_mismatch : Pos.t -> Pos.t -> unit
423 val inout_params_ret_by_ref : Pos.t -> Pos.t -> unit
424 val xhp_required : Pos.t -> string -> (Pos.t * string) list -> unit
425 val illegal_xhp_child : Pos.t -> (Pos.t * string) list -> unit
426 val nonreactive_function_call : Pos.t -> unit
427 val nonreactive_append : Pos.t -> unit