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<<9d7dea97a9569f59a12b020b0a50d2fa>>
8 // To regenerate this file, run:
9 // hphp/hack/src/oxidized_regen.sh
11 use ocamlrep_derive::FromOcamlRep;
12 use ocamlrep_derive::ToOcamlRep;
13 use serde::Deserialize;
16 #[allow(unused_imports)]
29 pub struct GlobalOptions {
30 pub tco_experimental_features: s_set::SSet,
31 pub tco_migration_flags: s_set::SSet,
32 pub tco_dynamic_view: bool,
33 pub tco_num_local_workers: Option<isize>,
34 pub tco_parallel_type_checking_threshold: isize,
35 pub tco_max_typechecker_worker_memory_mb: Option<isize>,
36 pub tco_defer_class_declaration_threshold: Option<isize>,
37 pub tco_defer_class_memory_mb_threshold: Option<isize>,
38 pub tco_max_times_to_defer_type_checking: Option<isize>,
39 pub tco_prefetch_deferred_files: bool,
40 pub tco_remote_type_check_threshold: Option<isize>,
41 pub tco_remote_type_check: bool,
42 pub tco_remote_worker_key: Option<String>,
43 pub tco_remote_check_id: Option<String>,
44 pub tco_remote_max_batch_size: isize,
45 pub tco_remote_min_batch_size: isize,
46 pub tco_num_remote_workers: isize,
47 pub tco_stream_errors: bool,
48 pub so_remote_version_specifier: Option<String>,
49 pub so_remote_worker_vfs_checkout_threshold: isize,
50 pub so_naming_sqlite_path: Option<String>,
51 pub po_auto_namespace_map: Vec<(String, String)>,
53 pub po_deregister_php_stdlib: bool,
54 pub po_disallow_toplevel_requires: bool,
55 pub po_disable_nontoplevel_declarations: bool,
56 pub po_allow_unstable_features: bool,
57 pub tco_log_inference_constraints: bool,
58 pub tco_disallow_array_typehint: bool,
59 pub tco_disallow_array_literal: bool,
60 pub tco_language_feature_logging: bool,
61 pub tco_disallow_scrutinee_case_value_type_mismatch: bool,
62 pub tco_timeout: isize,
63 pub tco_disallow_invalid_arraykey: bool,
64 pub tco_disallow_byref_dynamic_calls: bool,
65 pub tco_disallow_byref_calls: bool,
66 pub allowed_fixme_codes_strict: i_set::ISet,
67 pub allowed_fixme_codes_partial: i_set::ISet,
68 pub codes_not_raised_partial: i_set::ISet,
69 pub log_levels: s_map::SMap<isize>,
70 pub po_disable_lval_as_an_expression: bool,
71 pub tco_shallow_class_decl: bool,
72 pub tco_skip_hierarchy_checks: bool,
73 pub po_rust_parser_errors: bool,
74 pub tco_like_type_hints: bool,
75 pub tco_union_intersection_type_hints: bool,
76 pub tco_coeffects: bool,
77 pub tco_coeffects_local: bool,
78 pub tco_strict_contexts: bool,
79 pub tco_like_casts: bool,
80 pub tco_simple_pessimize: f64,
81 pub tco_complex_coercion: bool,
82 pub tco_disable_partially_abstract_typeconsts: bool,
83 pub tco_disallow_partially_abstract_typeconst_definitions: bool,
84 pub error_codes_treated_strictly: i_set::ISet,
85 pub tco_check_xhp_attribute: bool,
86 pub tco_check_redundant_generics: bool,
87 pub tco_disallow_unresolved_type_variables: bool,
88 pub tco_disallow_trait_reuse: bool,
89 pub tco_disallow_invalid_arraykey_constraint: bool,
90 pub po_enable_class_level_where_clauses: bool,
91 pub po_disable_legacy_soft_typehints: bool,
92 pub po_allowed_decl_fixme_codes: i_set::ISet,
93 pub po_allow_new_attribute_syntax: bool,
94 pub tco_global_inference: bool,
95 pub tco_gi_reinfer_types: Vec<String>,
96 pub tco_ordered_solving: bool,
97 pub tco_const_static_props: bool,
98 pub po_disable_legacy_attribute_syntax: bool,
99 pub tco_const_attribute: bool,
100 pub po_const_default_func_args: bool,
101 pub po_const_default_lambda_args: bool,
102 pub po_disallow_silence: bool,
103 pub po_abstract_static_props: bool,
104 pub po_disable_unset_class_const: bool,
105 pub po_parser_errors_only: bool,
106 pub tco_check_attribute_locations: bool,
107 pub glean_service: String,
108 pub glean_hostname: String,
109 pub glean_port: isize,
110 pub glean_reponame: String,
111 pub symbol_write_root_path: String,
112 pub symbol_write_hhi_path: String,
113 pub symbol_write_ignore_paths: Vec<String>,
114 pub symbol_write_index_paths: Vec<String>,
115 pub symbol_write_index_paths_file: Option<String>,
116 pub symbol_write_index_paths_file_output: Option<String>,
117 pub symbol_write_include_hhi: bool,
118 pub po_disallow_func_ptrs_in_constants: bool,
119 pub tco_error_php_lambdas: bool,
120 pub tco_disallow_discarded_nullable_awaitables: bool,
121 pub po_enable_xhp_class_modifier: bool,
122 pub po_disable_xhp_element_mangling: bool,
123 pub po_disable_xhp_children_declarations: bool,
124 pub po_enable_enum_classes: bool,
125 pub po_disable_modes: bool,
126 pub po_disable_hh_ignore_error: bool,
127 pub po_disable_array: bool,
128 pub po_disable_array_typehint: bool,
129 pub tco_enable_systemlib_annotations: bool,
130 pub tco_higher_kinded_types: bool,
131 pub tco_method_call_inference: bool,
132 pub tco_report_pos_from_reason: bool,
133 pub tco_typecheck_sample_rate: f64,
134 pub tco_enable_sound_dynamic: bool,
135 pub po_disallow_hash_comments: bool,
136 pub po_disallow_fun_and_cls_meth_pseudo_funcs: bool,
137 pub po_disallow_inst_meth: bool,
138 pub po_enable_readonly_in_emitter: bool,
139 pub po_escape_brace: bool,
140 pub tco_use_direct_decl_parser: bool,
141 pub tco_ifc_enabled: Vec<String>,
142 pub po_enable_enum_supertyping: bool,
143 pub po_interpret_soft_types_as_like_types: bool,
144 pub tco_enable_strict_string_concat_interp: bool,
145 pub tco_ignore_unsafe_cast: bool,
146 pub tco_readonly: bool,
147 pub tco_enable_expression_trees: bool,
148 pub tco_enable_modules: bool,
149 pub tco_allowed_expression_tree_visitors: Vec<String>,
150 pub tco_math_new_code: bool,
151 pub tco_typeconst_concrete_concrete_error: bool,
152 pub tco_meth_caller_only_public_visibility: bool,
153 pub tco_require_extends_implements_ancestors: bool,
154 pub tco_strict_value_equality: bool,
155 pub tco_enforce_sealed_subclasses: bool,