Avoid using decl_class_type wherever possible
[hiphop-php.git] / hphp / hack / src / typing / tast_check / tast_check.ml
blob34f43cbebadc9bd40c10a9355d48127f0b119400
1 (**
2 * Copyright (c) 2018, Facebook, Inc.
3 * All rights reserved.
5 * This source code is licensed under the MIT license found in the
6 * LICENSE file in the "hack" directory of this source tree.
8 *)
10 [@@@warning "-33"]
11 open Core_kernel
12 [@@@warning "+33"]
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;
20 Ppl_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
26 else fun _ _ _ -> ()
27 end;
28 Void_return_check.handler;
29 Rvalue_check.handler;
30 Callconv_check.handler;
31 Xhp_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