2 * Copyright (c) 2018, Facebook, Inc.
5 * This source code is licensed under the MIT license found in the
6 * LICENSE file in the "hack" directory of this source tree.
13 let visitor = Tast_visitor.iter_with
[
14 Shape_field_check.handler
;
15 Sketchy_null_check.handler
;
16 String_cast_check.handler
;
17 Tautology_check.handler
;
18 Truthiness_test.handler
;
19 Type_test_hint_check.handler
;
21 Coroutine_check.handler
;
22 Redundant_nullsafe_check.handler
;
23 Switch_check.handler
begin fun t
->
24 if TypecheckerOptions.disallow_scrutinee_case_value_type_mismatch t
25 then Errors.invalid_switch_case_value_type
28 Void_return_check.handler
;
30 Callconv_check.handler
;
32 Discarded_awaitable_check.handler
;
33 Invalid_arraykey_check.handler
;
34 Invalid_arraykey_check.index_handler
;
35 Basic_reactivity_check.handler
;
36 Pseudofunctions_check.handler
;
37 Dynamic_method_call_check.handler
;
38 Reified_check.handler
;
39 Instantiability_check.handler
;
40 Static_memoized_check.handler
;
41 Abstract_class_check.handler
;
42 Type_params_arity_check.handler
;
43 Class_parent_check.handler
;
44 Type_const_check.handler
;
47 let program = visitor#go
48 let def = visitor#go_def