Allow function pointer builtins in constant initializers
[hiphop-php.git] / hphp / hack / src / oxidized / gen / global_options.rs
blobbf6623c7d3054857e44020fe6551f83f1c510799
1 // Copyright (c) Facebook, Inc. and its affiliates.
2 //
3 // This source code is licensed under the MIT license found in the
4 // LICENSE file in the "hack" directory of this source tree.
5 //
6 // @generated SignedSource<<1476d8690b710111a6ae0fec71007718>>
7 //
8 // To regenerate this file, run:
9 //   hphp/hack/src/oxidized/regen.sh
11 use ocamlrep_derive::OcamlRep;
12 use ocamlvalue_macro::Ocamlvalue;
14 use crate::i_set;
15 use crate::s_map;
16 use crate::s_set;
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)>,
40     pub po_codegen: bool,
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,