1 // Copyright (c) Facebook, Inc. and its affiliates.
3 // This source code is licensed under the MIT license found in the
4 // LICENSE file in the "hack" directory of this source tree.
6 // @generated SignedSource<<1476d8690b710111a6ae0fec71007718>>
8 // To regenerate this file, run:
9 // hphp/hack/src/oxidized/regen.sh
11 use ocamlrep_derive::OcamlRep;
12 use ocamlvalue_macro::Ocamlvalue;
18 pub use crate::infer_missing;
20 #[derive(Clone, Debug, OcamlRep, Ocamlvalue)]
21 pub struct GlobalOptions {
22 pub tco_safe_array: bool,
23 pub tco_safe_vector_array: bool,
24 pub tco_experimental_features: s_set::SSet,
25 pub tco_migration_flags: s_set::SSet,
26 pub tco_dynamic_view: bool,
27 pub tco_defer_class_declaration_threshold: Option<isize>,
28 pub tco_max_times_to_defer_type_checking: Option<isize>,
29 pub tco_prefetch_deferred_files: bool,
30 pub tco_remote_type_check_threshold: Option<isize>,
31 pub tco_remote_type_check: bool,
32 pub tco_remote_worker_key: Option<String>,
33 pub tco_remote_check_id: Option<String>,
34 pub tco_num_remote_workers: isize,
35 pub so_remote_version_specifier: Option<String>,
36 pub so_remote_worker_eden_checkout_threshold: isize,
37 pub so_naming_sqlite_path: Option<String>,
38 pub tco_disallow_array_as_tuple: bool,
39 pub po_auto_namespace_map: Vec<(String, String)>,
41 pub po_deregister_php_stdlib: bool,
42 pub po_disallow_execution_operator: bool,
43 pub po_disallow_toplevel_requires: bool,
44 pub po_disable_nontoplevel_declarations: bool,
45 pub po_disable_static_closures: bool,
46 pub po_disable_halt_compiler: bool,
47 pub po_allow_goto: bool,
48 pub tco_log_inference_constraints: bool,
49 pub tco_disallow_ambiguous_lambda: bool,
50 pub tco_disallow_array_typehint: bool,
51 pub tco_disallow_array_literal: bool,
52 pub tco_language_feature_logging: bool,
53 pub tco_unsafe_rx: bool,
54 pub tco_disallow_unset_on_varray: bool,
55 pub tco_disallow_scrutinee_case_value_type_mismatch: bool,
56 pub tco_new_inference_lambda: bool,
57 pub tco_timeout: isize,
58 pub tco_disallow_invalid_arraykey: bool,
59 pub tco_disallow_byref_dynamic_calls: bool,
60 pub tco_disallow_byref_calls: bool,
61 pub ignored_fixme_codes: i_set::ISet,
62 pub ignored_fixme_regex: Option<String>,
63 pub log_levels: s_map::SMap<isize>,
64 pub po_disable_lval_as_an_expression: bool,
65 pub tco_typecheck_xhp_cvars: bool,
66 pub tco_ignore_collection_expr_type_arguments: bool,
67 pub tco_shallow_class_decl: bool,
68 pub po_rust_parser_errors: bool,
69 pub profile_type_check_duration_threshold: f64,
70 pub tco_like_type_hints: bool,
71 pub tco_like_casts: bool,
72 pub tco_pessimize_types: bool,
73 pub tco_simple_pessimize: f64,
74 pub tco_coercion_from_dynamic: bool,
75 pub tco_coercion_from_union: bool,
76 pub tco_complex_coercion: bool,
77 pub tco_disable_partially_abstract_typeconsts: bool,
78 pub error_codes_treated_strictly: i_set::ISet,
79 pub tco_check_xhp_attribute: bool,
80 pub tco_disallow_unresolved_type_variables: bool,
81 pub tco_disallow_invalid_arraykey_constraint: bool,
82 pub po_enable_constant_visibility_modifiers: bool,
83 pub po_enable_class_level_where_clauses: bool,
84 pub po_disable_legacy_soft_typehints: bool,
85 pub tco_use_lru_workers: bool,
86 pub po_disallowed_decl_fixmes: i_set::ISet,
87 pub po_allow_new_attribute_syntax: bool,
88 pub tco_infer_missing: infer_missing::InferMissing,
89 pub tco_const_static_props: bool,
90 pub po_disable_legacy_attribute_syntax: bool,
91 pub tco_const_attribute: bool,
92 pub po_const_default_func_args: bool,
93 pub po_disallow_silence: bool,
94 pub po_abstract_static_props: bool,
95 pub po_disable_unset_class_const: bool,
96 pub po_parser_errors_only: bool,
97 pub tco_check_attribute_locations: bool,
98 pub po_disallow_func_ptrs_in_constants: bool,