2 * Copyright (c) 2015, 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.
11 tco_experimental_features
: SSet.t
;
12 tco_migration_flags
: SSet.t
;
13 tco_dynamic_view
: bool;
14 tco_num_local_workers
: int option;
15 tco_parallel_type_checking_threshold
: int;
16 tco_defer_class_declaration_threshold
: int option;
17 tco_max_times_to_defer_type_checking
: int option;
18 tco_prefetch_deferred_files
: bool;
19 tco_remote_type_check_threshold
: int option;
20 tco_remote_type_check
: bool;
21 tco_remote_worker_key
: string option;
22 tco_remote_check_id
: string option;
23 tco_remote_max_batch_size
: int;
24 tco_remote_min_batch_size
: int;
25 tco_num_remote_workers
: int;
26 so_remote_version_specifier
: string option;
27 so_remote_worker_vfs_checkout_threshold
: int;
28 so_naming_sqlite_path
: string option;
29 po_auto_namespace_map
: (string * string) list
;
31 po_deregister_php_stdlib
: bool;
32 po_disallow_execution_operator
: bool;
33 po_disallow_toplevel_requires
: bool;
34 po_disable_nontoplevel_declarations
: bool;
35 po_disable_static_closures
: bool;
37 tco_log_inference_constraints
: bool;
38 tco_disallow_array_typehint
: bool;
39 tco_disallow_array_literal
: bool;
40 tco_language_feature_logging
: bool;
42 tco_disallow_scrutinee_case_value_type_mismatch
: bool;
44 tco_disallow_invalid_arraykey
: bool;
45 tco_disallow_byref_dynamic_calls
: bool;
46 tco_disallow_byref_calls
: bool;
47 ignored_fixme_codes
: ISet.t
;
48 log_levels
: int SMap.t
;
49 po_disable_lval_as_an_expression
: bool;
50 tco_shallow_class_decl
: bool;
51 po_rust_parser_errors
: bool;
52 profile_type_check_duration_threshold
: float;
53 profile_type_check_twice
: bool;
54 profile_owner
: string;
56 tco_like_type_hints
: bool;
57 tco_union_intersection_type_hints
: bool;
59 tco_simple_pessimize
: float;
60 tco_complex_coercion
: bool;
61 tco_disable_partially_abstract_typeconsts
: bool;
62 error_codes_treated_strictly
: ISet.t
;
63 tco_check_xhp_attribute
: bool;
64 tco_check_redundant_generics
: bool;
65 tco_disallow_unresolved_type_variables
: bool;
66 tco_disallow_invalid_arraykey_constraint
: bool;
67 po_enable_class_level_where_clauses
: bool;
68 po_disable_legacy_soft_typehints
: bool;
69 po_disallowed_decl_fixmes
: ISet.t
;
70 po_allow_new_attribute_syntax
: bool;
71 tco_global_inference
: bool;
72 tco_gi_reinfer_types
: string list
;
73 tco_ordered_solving
: bool;
74 tco_const_static_props
: bool;
75 po_disable_legacy_attribute_syntax
: bool;
76 tco_const_attribute
: bool;
77 po_const_default_func_args
: bool;
78 po_const_default_lambda_args
: bool;
79 po_disallow_silence
: bool;
80 po_abstract_static_props
: bool;
81 po_disable_unset_class_const
: bool;
82 po_parser_errors_only
: bool;
83 tco_check_attribute_locations
: bool;
84 glean_service
: string;
85 glean_hostname
: string;
87 glean_reponame
: string;
88 symbol_write_root_path
: string;
89 symbol_write_hhi_path
: string;
90 po_disallow_func_ptrs_in_constants
: bool;
91 tco_error_php_lambdas
: bool;
92 tco_disallow_discarded_nullable_awaitables
: bool;
93 po_enable_xhp_class_modifier
: bool;
94 po_disable_xhp_element_mangling
: bool;
95 po_disable_xhp_children_declarations
: bool;
96 po_enable_first_class_function_pointers
: bool;
97 po_disable_modes
: bool;
98 po_disable_array
: bool;
99 tco_enable_systemlib_annotations
: bool;
100 tco_pu_enabled_paths
: bool * Relative_path.t list
;
104 let tco_experimental_isarray = "is_array"
106 (* Whether Shapes::idx should return a non-nullable type when the input shape
107 is known to contain the field. *)
108 let tco_experimental_stronger_shape_idx_ret = "stronger_shape_idx_return"
111 * Insist on instantiations for all generic types, even in non-strict files
113 let tco_experimental_generics_arity = "generics_arity"
116 * Forbid casting nullable values, since they have unexpected semantics. For
117 * example, casting `null` to an int results in `0`, which may or may not be
118 * what you were expecting.
120 let tco_experimental_forbid_nullable_cast = "forbid_nullable_cast"
123 * Disallow static memoized functions in non-final classes
126 let tco_experimental_disallow_static_memoized = "disallow_static_memoized"
129 * Allows parsing of coroutine functions/suspend operator
131 let tco_experimental_coroutines = "coroutines"
134 * Enforce no duplication of traits in a class hierarchy. There is some clean-up
135 * involved, so it's behind a flag.
137 let tco_experimental_no_trait_reuse = "no_trait_reuse"
140 * Prevent type param names from shadowing class names
142 let tco_experimental_type_param_shadowing = "type_param_shadowing"
145 * Enable trait method redeclarations, i.e. public function f(): void = T1::f;
147 let tco_experimental_trait_method_redeclarations = "trait_method_redeclarations"
150 * Enable abstract const type with default syntax, i.e.
151 * abstract const type T as num = int;
153 let tco_experimental_abstract_type_const_with_default =
154 "abstract_type_const_with_default"
156 let tco_experimental_all =
161 tco_experimental_isarray;
162 tco_experimental_stronger_shape_idx_ret;
163 tco_experimental_generics_arity;
164 tco_experimental_forbid_nullable_cast;
165 tco_experimental_coroutines;
166 tco_experimental_disallow_static_memoized;
167 tco_experimental_no_trait_reuse;
168 tco_experimental_trait_method_redeclarations;
169 tco_experimental_abstract_type_const_with_default;
172 let tco_migration_flags_all =
173 SSet.empty
|> List.fold_right
SSet.add
["array_cast"]
177 (* Default all features for testing. Actual options are set by reading
178 * from hhconfig, which defaults to empty. *)
179 tco_experimental_features
= tco_experimental_all;
180 tco_migration_flags
= SSet.empty
;
181 tco_dynamic_view
= false;
182 tco_num_local_workers
= None
;
183 tco_parallel_type_checking_threshold
= 10;
184 tco_defer_class_declaration_threshold
= None
;
185 tco_max_times_to_defer_type_checking
= None
;
186 tco_prefetch_deferred_files
= false;
187 tco_remote_type_check_threshold
= None
;
188 tco_remote_type_check
= true;
189 tco_remote_worker_key
= None
;
190 tco_remote_check_id
= None
;
191 tco_remote_max_batch_size
= 8_000;
192 tco_remote_min_batch_size
= 5_000;
193 tco_num_remote_workers
= 4;
194 so_remote_version_specifier
= None
;
195 so_remote_worker_vfs_checkout_threshold
= 10000;
196 so_naming_sqlite_path
= None
;
197 po_auto_namespace_map
= [];
199 po_disallow_execution_operator
= false;
200 po_disallow_toplevel_requires
= false;
201 po_deregister_php_stdlib
= false;
202 po_disable_nontoplevel_declarations
= false;
203 po_disable_static_closures
= false;
204 po_allow_goto
= true;
205 tco_log_inference_constraints
= false;
206 tco_disallow_array_typehint
= false;
207 tco_disallow_array_literal
= false;
208 tco_language_feature_logging
= false;
209 tco_unsafe_rx
= true;
210 tco_disallow_scrutinee_case_value_type_mismatch
= false;
212 tco_disallow_invalid_arraykey
= true;
213 tco_disallow_byref_dynamic_calls
= false;
214 tco_disallow_byref_calls
= false;
215 ignored_fixme_codes
= Errors.default_ignored_fixme_codes
;
216 log_levels
= SMap.empty
;
217 po_disable_lval_as_an_expression
= true;
218 tco_shallow_class_decl
= false;
219 po_rust_parser_errors
= false;
220 profile_type_check_duration_threshold
= 0.05;
221 profile_type_check_twice
= false;
224 tco_like_type_hints
= false;
225 tco_union_intersection_type_hints
= false;
226 tco_like_casts
= false;
227 tco_simple_pessimize
= 0.0;
228 tco_complex_coercion
= false;
229 tco_disable_partially_abstract_typeconsts
= false;
230 error_codes_treated_strictly
= ISet.of_list
[];
231 tco_check_xhp_attribute
= false;
232 tco_check_redundant_generics
= false;
233 tco_disallow_unresolved_type_variables
= false;
234 tco_disallow_invalid_arraykey_constraint
= false;
235 po_enable_class_level_where_clauses
= false;
236 po_disable_legacy_soft_typehints
= false;
237 po_disallowed_decl_fixmes
= ISet.of_list
[];
238 po_allow_new_attribute_syntax
= false;
239 tco_global_inference
= false;
240 tco_gi_reinfer_types
= [];
241 tco_ordered_solving
= false;
242 tco_const_static_props
= false;
243 po_disable_legacy_attribute_syntax
= false;
244 tco_const_attribute
= false;
245 po_const_default_func_args
= false;
246 po_const_default_lambda_args
= false;
247 po_disallow_silence
= false;
248 po_abstract_static_props
= false;
249 po_disable_unset_class_const
= false;
250 po_parser_errors_only
= false;
251 tco_check_attribute_locations
= false;
255 glean_reponame
= "www.autocomplete";
256 symbol_write_root_path
= "www";
257 symbol_write_hhi_path
= "hhi";
258 po_disallow_func_ptrs_in_constants
= false;
259 tco_error_php_lambdas
= false;
260 tco_disallow_discarded_nullable_awaitables
= false;
261 po_enable_xhp_class_modifier
= false;
262 po_disable_xhp_element_mangling
= false;
263 po_disable_xhp_children_declarations
= false;
264 po_enable_first_class_function_pointers
= false;
265 po_disable_modes
= false;
266 po_disable_array
= false;
267 tco_enable_systemlib_annotations
= false;
268 tco_pu_enabled_paths
= (false, []);
272 ?
(po_deregister_php_stdlib
= default.po_deregister_php_stdlib
)
273 ?
(po_disallow_execution_operator
= default.po_disallow_execution_operator
)
274 ?
(po_disallow_toplevel_requires
= default.po_disallow_toplevel_requires
)
275 ?
(po_disable_nontoplevel_declarations
=
276 default.po_disable_nontoplevel_declarations
)
277 ?
(po_disable_static_closures
= default.po_disable_static_closures
)
278 ?
(po_allow_goto
= default.po_allow_goto
)
279 ?
(tco_log_inference_constraints
= default.tco_log_inference_constraints
)
280 ?
(tco_experimental_features
= default.tco_experimental_features
)
281 ?
(tco_migration_flags
= default.tco_migration_flags
)
282 ?
(tco_dynamic_view
= default.tco_dynamic_view
)
283 ?tco_num_local_workers
284 ?
(tco_parallel_type_checking_threshold
=
285 default.tco_parallel_type_checking_threshold
)
286 ?tco_defer_class_declaration_threshold
287 ?tco_max_times_to_defer_type_checking
288 ?
(tco_prefetch_deferred_files
= default.tco_prefetch_deferred_files
)
289 ?tco_remote_type_check_threshold
290 ?
(tco_remote_type_check
= default.tco_remote_type_check
)
291 ?tco_remote_worker_key
293 ?
(tco_remote_max_batch_size
= default.tco_remote_max_batch_size
)
294 ?
(tco_remote_min_batch_size
= default.tco_remote_min_batch_size
)
295 ?
(tco_num_remote_workers
= default.tco_num_remote_workers
)
296 ?so_remote_version_specifier
297 ?
(so_remote_worker_vfs_checkout_threshold
=
298 default.so_remote_worker_vfs_checkout_threshold
)
299 ?so_naming_sqlite_path
300 ?
(po_auto_namespace_map
= default.po_auto_namespace_map
)
301 ?
(tco_disallow_array_typehint
= default.tco_disallow_array_typehint
)
302 ?
(tco_disallow_array_literal
= default.tco_disallow_array_literal
)
303 ?
(tco_language_feature_logging
= default.tco_language_feature_logging
)
304 ?
(tco_unsafe_rx
= default.tco_unsafe_rx
)
305 ?
(tco_disallow_scrutinee_case_value_type_mismatch
=
306 default.tco_disallow_scrutinee_case_value_type_mismatch
)
307 ?
(tco_timeout
= default.tco_timeout
)
308 ?
(tco_disallow_invalid_arraykey
= default.tco_disallow_invalid_arraykey
)
309 ?
(tco_disallow_byref_dynamic_calls
=
310 default.tco_disallow_byref_dynamic_calls
)
311 ?
(tco_disallow_byref_calls
= default.tco_disallow_byref_calls
)
312 ?
(ignored_fixme_codes
= default.ignored_fixme_codes
)
313 ?
(log_levels
= default.log_levels
)
314 ?
(po_disable_lval_as_an_expression
=
315 default.po_disable_lval_as_an_expression
)
316 ?
(tco_shallow_class_decl
= default.tco_shallow_class_decl
)
317 ?
(po_rust_parser_errors
= default.po_rust_parser_errors
)
318 ?
(profile_type_check_duration_threshold
=
319 default.profile_type_check_duration_threshold
)
320 ?
(profile_type_check_twice
= default.profile_type_check_twice
)
321 ?
(profile_owner
= default.profile_owner
)
322 ?
(profile_desc
= default.profile_desc
)
323 ?
(tco_like_type_hints
= default.tco_like_type_hints
)
324 ?
(tco_union_intersection_type_hints
=
325 default.tco_union_intersection_type_hints
)
326 ?
(tco_like_casts
= default.tco_like_casts
)
327 ?
(tco_simple_pessimize
= default.tco_simple_pessimize
)
328 ?
(tco_complex_coercion
= default.tco_complex_coercion
)
329 ?
(tco_disable_partially_abstract_typeconsts
=
330 default.tco_disable_partially_abstract_typeconsts
)
331 ?
(error_codes_treated_strictly
= default.error_codes_treated_strictly
)
332 ?
(tco_check_xhp_attribute
= default.tco_check_xhp_attribute
)
333 ?
(tco_check_redundant_generics
= default.tco_check_redundant_generics
)
334 ?
(tco_disallow_unresolved_type_variables
=
335 default.tco_disallow_unresolved_type_variables
)
336 ?
(tco_disallow_invalid_arraykey_constraint
=
337 default.tco_disallow_invalid_arraykey_constraint
)
338 ?
(po_enable_class_level_where_clauses
=
339 default.po_enable_class_level_where_clauses
)
340 ?
(po_disable_legacy_soft_typehints
=
341 default.po_disable_legacy_soft_typehints
)
342 ?
(po_disallowed_decl_fixmes
= default.po_disallowed_decl_fixmes
)
343 ?
(po_allow_new_attribute_syntax
= default.po_allow_new_attribute_syntax
)
344 ?
(tco_global_inference
= default.tco_global_inference
)
345 ?
(tco_gi_reinfer_types
= default.tco_gi_reinfer_types
)
346 ?
(tco_ordered_solving
= default.tco_ordered_solving
)
347 ?
(tco_const_static_props
= default.tco_const_static_props
)
348 ?
(po_disable_legacy_attribute_syntax
=
349 default.po_disable_legacy_attribute_syntax
)
350 ?
(tco_const_attribute
= default.tco_const_attribute
)
351 ?
(po_const_default_func_args
= default.po_const_default_func_args
)
352 ?
(po_const_default_lambda_args
= default.po_const_default_lambda_args
)
353 ?
(po_disallow_silence
= default.po_disallow_silence
)
354 ?
(po_abstract_static_props
= default.po_abstract_static_props
)
355 ?
(po_disable_unset_class_const
= default.po_disable_unset_class_const
)
356 ?
(po_parser_errors_only
= default.po_parser_errors_only
)
357 ?
(tco_check_attribute_locations
= default.tco_check_attribute_locations
)
358 ?
(glean_service
= default.glean_service
)
359 ?
(glean_hostname
= default.glean_hostname
)
360 ?
(glean_port
= default.glean_port
)
361 ?
(glean_reponame
= default.glean_reponame
)
362 ?
(symbol_write_root_path
= default.symbol_write_root_path
)
363 ?
(symbol_write_hhi_path
= default.symbol_write_hhi_path
)
364 ?
(po_disallow_func_ptrs_in_constants
=
365 default.po_disallow_func_ptrs_in_constants
)
366 ?
(tco_error_php_lambdas
= default.tco_error_php_lambdas
)
367 ?
(tco_disallow_discarded_nullable_awaitables
=
368 default.tco_disallow_discarded_nullable_awaitables
)
369 ?
(po_enable_xhp_class_modifier
= default.po_enable_xhp_class_modifier
)
370 ?
(po_disable_xhp_element_mangling
= default.po_disable_xhp_element_mangling
)
371 ?
(po_disable_xhp_children_declarations
=
372 default.po_disable_xhp_children_declarations
)
373 ?
(po_enable_first_class_function_pointers
=
374 default.po_enable_first_class_function_pointers
)
375 ?
(po_disable_modes
= default.po_disable_modes
)
376 ?
(po_disable_array
= default.po_disable_array
)
377 ?
(tco_enable_systemlib_annotations
=
378 default.tco_enable_systemlib_annotations
)
379 ?
(tco_pu_enabled_paths
= default.tco_pu_enabled_paths
)
382 tco_experimental_features
;
385 tco_num_local_workers
;
386 tco_parallel_type_checking_threshold
;
387 tco_defer_class_declaration_threshold
;
388 tco_max_times_to_defer_type_checking
;
389 tco_prefetch_deferred_files
;
390 tco_remote_type_check_threshold
;
391 tco_remote_type_check
;
392 tco_remote_worker_key
;
394 tco_remote_max_batch_size
;
395 tco_remote_min_batch_size
;
396 tco_num_remote_workers
;
397 so_remote_version_specifier
;
398 so_remote_worker_vfs_checkout_threshold
;
399 so_naming_sqlite_path
;
400 po_auto_namespace_map
;
403 po_deregister_php_stdlib
;
404 po_disallow_execution_operator
;
405 po_disallow_toplevel_requires
;
406 po_disable_nontoplevel_declarations
;
407 po_disable_static_closures
;
409 tco_log_inference_constraints
;
410 tco_disallow_array_typehint
;
411 tco_disallow_array_literal
;
412 tco_language_feature_logging
;
414 tco_disallow_scrutinee_case_value_type_mismatch
;
416 tco_disallow_invalid_arraykey
;
417 tco_disallow_byref_dynamic_calls
;
418 tco_disallow_byref_calls
;
420 po_disable_lval_as_an_expression
;
421 tco_shallow_class_decl
;
422 po_rust_parser_errors
;
423 profile_type_check_duration_threshold
;
424 profile_type_check_twice
;
428 tco_union_intersection_type_hints
;
430 tco_simple_pessimize
;
431 tco_complex_coercion
;
432 tco_disable_partially_abstract_typeconsts
;
433 error_codes_treated_strictly
;
434 tco_check_xhp_attribute
;
435 tco_check_redundant_generics
;
436 tco_disallow_unresolved_type_variables
;
437 tco_disallow_invalid_arraykey_constraint
;
438 po_enable_class_level_where_clauses
;
439 po_disable_legacy_soft_typehints
;
440 po_disallowed_decl_fixmes
;
441 po_allow_new_attribute_syntax
;
442 tco_global_inference
;
443 tco_gi_reinfer_types
;
445 tco_const_static_props
;
446 po_disable_legacy_attribute_syntax
;
448 po_const_default_func_args
;
449 po_const_default_lambda_args
;
451 po_abstract_static_props
;
452 po_disable_unset_class_const
;
453 po_parser_errors_only
;
454 tco_check_attribute_locations
;
459 symbol_write_root_path
;
460 symbol_write_hhi_path
;
461 po_disallow_func_ptrs_in_constants
;
462 tco_error_php_lambdas
;
463 tco_disallow_discarded_nullable_awaitables
;
464 po_enable_xhp_class_modifier
;
465 po_disable_xhp_element_mangling
;
466 po_disable_xhp_children_declarations
;
467 po_enable_first_class_function_pointers
;
470 tco_enable_systemlib_annotations
;
471 tco_pu_enabled_paths
;
474 let tco_experimental_feature_enabled t s
=
475 SSet.mem s t
.tco_experimental_features
477 let tco_migration_flag_enabled t s
= SSet.mem s t
.tco_migration_flags
479 let tco_dynamic_view t
= t
.tco_dynamic_view
481 let tco_num_local_workers t
= t
.tco_num_local_workers
483 let tco_parallel_type_checking_threshold t
=
484 t
.tco_parallel_type_checking_threshold
486 let tco_defer_class_declaration_threshold t
=
487 t
.tco_defer_class_declaration_threshold
489 let tco_max_times_to_defer_type_checking t
=
490 t
.tco_max_times_to_defer_type_checking
492 let tco_prefetch_deferred_files t
= t
.tco_prefetch_deferred_files
494 let tco_remote_type_check_threshold t
= t
.tco_remote_type_check_threshold
496 let tco_remote_type_check t
= t
.tco_remote_type_check
498 let tco_remote_worker_key t
= t
.tco_remote_worker_key
500 let tco_remote_check_id t
= t
.tco_remote_check_id
502 let tco_remote_max_batch_size t
= t
.tco_remote_max_batch_size
504 let tco_remote_min_batch_size t
= t
.tco_remote_min_batch_size
506 let tco_num_remote_workers t
= t
.tco_num_remote_workers
508 let so_remote_version_specifier t
= t
.so_remote_version_specifier
510 let so_remote_worker_vfs_checkout_threshold t
=
511 t
.so_remote_worker_vfs_checkout_threshold
513 let so_naming_sqlite_path t
= t
.so_naming_sqlite_path
515 let po_auto_namespace_map t
= t
.po_auto_namespace_map
517 let po_deregister_php_stdlib t
= t
.po_deregister_php_stdlib
519 let po_disable_nontoplevel_declarations t
=
520 t
.po_disable_nontoplevel_declarations
522 let po_disable_static_closures t
= t
.po_disable_static_closures
524 let po_allow_goto t
= t
.po_allow_goto
526 let tco_log_inference_constraints t
= t
.tco_log_inference_constraints
528 let po_codegen t
= t
.po_codegen
530 let po_disallow_execution_operator t
= t
.po_disallow_execution_operator
532 let po_disallow_toplevel_requires t
= t
.po_disallow_toplevel_requires
534 let tco_disallow_array_typehint t
= t
.tco_disallow_array_typehint
536 let tco_disallow_array_literal t
= t
.tco_disallow_array_literal
538 let tco_language_feature_logging t
= t
.tco_language_feature_logging
540 let tco_unsafe_rx t
= t
.tco_unsafe_rx
542 let tco_disallow_scrutinee_case_value_type_mismatch t
=
543 t
.tco_disallow_scrutinee_case_value_type_mismatch
545 let tco_timeout t
= t
.tco_timeout
547 let tco_disallow_invalid_arraykey t
= t
.tco_disallow_invalid_arraykey
549 let tco_disallow_invalid_arraykey_constraint t
=
550 t
.tco_disallow_invalid_arraykey_constraint
552 let tco_disallow_byref_dynamic_calls t
= t
.tco_disallow_byref_dynamic_calls
554 let tco_disallow_byref_calls t
= t
.tco_disallow_byref_calls
556 let ignored_fixme_codes t
= t
.ignored_fixme_codes
558 let log_levels t
= t
.log_levels
560 let po_disable_lval_as_an_expression t
= t
.po_disable_lval_as_an_expression
562 let tco_shallow_class_decl t
= t
.tco_shallow_class_decl
564 let po_rust_parser_errors t
= t
.po_rust_parser_errors
566 let profile_type_check_duration_threshold t
=
567 t
.profile_type_check_duration_threshold
569 let profile_type_check_twice t
= t
.profile_type_check_twice
571 let profile_owner t
= t
.profile_owner
573 let profile_desc t
= t
.profile_desc
575 let tco_like_type_hints t
= t
.tco_like_type_hints
577 let tco_union_intersection_type_hints t
= t
.tco_union_intersection_type_hints
579 let tco_like_casts t
= t
.tco_like_casts
581 let tco_simple_pessimize t
= t
.tco_simple_pessimize
583 let tco_complex_coercion t
= t
.tco_complex_coercion
585 let tco_disable_partially_abstract_typeconsts t
=
586 t
.tco_disable_partially_abstract_typeconsts
588 let error_codes_treated_strictly t
= t
.error_codes_treated_strictly
590 let tco_check_xhp_attribute t
= t
.tco_check_xhp_attribute
592 let tco_check_redundant_generics t
= t
.tco_check_redundant_generics
594 let tco_disallow_unresolved_type_variables t
=
595 t
.tco_disallow_unresolved_type_variables
597 let po_enable_class_level_where_clauses t
=
598 t
.po_enable_class_level_where_clauses
600 let po_disable_legacy_soft_typehints t
= t
.po_disable_legacy_soft_typehints
602 let po_disallowed_decl_fixmes t
= t
.po_disallowed_decl_fixmes
604 let po_allow_new_attribute_syntax t
= t
.po_allow_new_attribute_syntax
606 let tco_global_inference t
= t
.tco_global_inference
608 let tco_gi_reinfer_types t
= t
.tco_gi_reinfer_types
610 let tco_ordered_solving t
= t
.tco_ordered_solving
612 let tco_const_static_props t
= t
.tco_const_static_props
614 let po_disable_legacy_attribute_syntax t
= t
.po_disable_legacy_attribute_syntax
616 let tco_const_attribute t
= t
.tco_const_attribute
618 let po_const_default_func_args t
= t
.po_const_default_func_args
620 let po_const_default_lambda_args t
= t
.po_const_default_lambda_args
622 let po_disallow_silence t
= t
.po_disallow_silence
624 let po_abstract_static_props t
= t
.po_abstract_static_props
626 let po_disable_unset_class_const t
= t
.po_disable_unset_class_const
628 let tco_check_attribute_locations t
= t
.tco_check_attribute_locations
630 let glean_service t
= t
.glean_service
632 let glean_hostname t
= t
.glean_hostname
634 let glean_port t
= t
.glean_port
636 let glean_reponame t
= t
.glean_reponame
638 let symbol_write_root_path t
= t
.symbol_write_root_path
640 let symbol_write_hhi_path t
= t
.symbol_write_hhi_path
642 let set_global_inference t
= { t
with tco_global_inference = true }
644 let set_ordered_solving t b
= { t
with tco_ordered_solving = b
}
646 let po_parser_errors_only t
= t
.po_parser_errors_only
648 let po_disallow_func_ptrs_in_constants t
= t
.po_disallow_func_ptrs_in_constants
650 let tco_error_php_lambdas t
= t
.tco_error_php_lambdas
652 let tco_disallow_discarded_nullable_awaitables t
=
653 t
.tco_disallow_discarded_nullable_awaitables
655 let po_enable_xhp_class_modifier t
= t
.po_enable_xhp_class_modifier
657 let po_disable_xhp_element_mangling t
= t
.po_disable_xhp_element_mangling
659 let po_disable_xhp_children_declarations t
=
660 t
.po_disable_xhp_children_declarations
662 let po_enable_first_class_function_pointers t
=
663 t
.po_enable_first_class_function_pointers
665 let po_disable_modes t
= t
.po_disable_modes
667 let po_disable_array t
= t
.po_disable_array
669 let tco_enable_systemlib_annotations t
= t
.tco_enable_systemlib_annotations
671 let tco_pu_enabled_paths t
= t
.tco_pu_enabled_paths