Do not pessimise top level functions under NAD
commit936f37edee1bed88c4680751505b6d29067d11f9
authorAndrew Kennedy <akenn@meta.com>
Fri, 3 Feb 2023 17:09:38 +0000 (3 09:09 -0800)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Fri, 3 Feb 2023 17:09:38 +0000 (3 09:09 -0800)
tree64b8a720ccaa407b912bd3a4e68c40a875702ad6
parent6b70aedcf258f2f5e08be87ede1a768013e71c41
Do not pessimise top level functions under NAD

Summary:
Currently a top-level function marked `<<__NoAutoDynamic>>` is pessimised under `--everything-sdt` because the `fun_elt` type contains only a boolean for `fe_support_dynamic_type` and no way of telling that there was a NAD attribute.

Easy fix is to add another boolean field.

Reviewed By: francesco-zappa-nardelli

Differential Revision: D42990024

fbshipit-source-id: 200b642a015c80ac52b088d6131aa51e22ee03ed
64 files changed:
hphp/hack/src/decl/decl_folded_class.ml
hphp/hack/src/decl/decl_nast.ml
hphp/hack/src/decl/direct_decl_smart_constructors.rs
hphp/hack/src/hackrs/ty/decl/from_oxidized.rs
hphp/hack/src/hackrs/ty/decl/to_oxidized.rs
hphp/hack/src/hackrs/ty/decl/ty.rs
hphp/hack/src/oxidized/gen/typing_defs.rs
hphp/hack/src/oxidized_by_ref/decl_visitor/node_impl_gen.rs
hphp/hack/src/oxidized_by_ref/gen/typing_defs.rs
hphp/hack/src/providers/decl_provider.ml
hphp/hack/src/providers/provider_context.ml
hphp/hack/src/providers/provider_context.mli
hphp/hack/src/providers/rust_provider_backend.ml
hphp/hack/src/server/serverSignatureHelp.ml
hphp/hack/src/typing/typing_defs.ml
hphp/hack/src/typing/typing_defs.mli
hphp/hack/test/decl/accept_disposable.php.exp
hphp/hack/test/decl/array_typehints.php.exp
hphp/hack/test/decl/async_and_generator_functions.php.exp
hphp/hack/test/decl/auto_ns_use.php.exp
hphp/hack/test/decl/coeffect_fun_dependent.php.exp
hphp/hack/test/decl/coeffect_parameter_dependent.php.exp
hphp/hack/test/decl/denotable_unions.php.exp
hphp/hack/test/decl/deprecated.php.exp
hphp/hack/test/decl/deprecated_string_concat.php.exp
hphp/hack/test/decl/deprecated_string_escaping.php.exp
hphp/hack/test/decl/duplicate_fun_attributes.php.exp
hphp/hack/test/decl/file_mode.php.exp
hphp/hack/test/decl/functions.php.exp
hphp/hack/test/decl/hhi.hhi.exp
hphp/hack/test/decl/higher_kinded.php.exp
hphp/hack/test/decl/ifc_policied.php.exp
hphp/hack/test/decl/inout.php.exp
hphp/hack/test/decl/like_types.php.exp
hphp/hack/test/decl/missing_function_typehints.php.exp
hphp/hack/test/decl/module_attr.php.exp
hphp/hack/test/decl/module_enums.php.exp
hphp/hack/test/decl/module_hint.php.exp
hphp/hack/test/decl/module_methods.php.exp
hphp/hack/test/decl/module_properties.php.exp
hphp/hack/test/decl/module_static_prop.php.exp
hphp/hack/test/decl/namespace_body_plus_declarations_outside_body.php.exp
hphp/hack/test/decl/namespace_elaboration.php.exp
hphp/hack/test/decl/namespace_global_body_plus_declarations_outside_body.php.exp
hphp/hack/test/decl/namespace_import.php.exp
hphp/hack/test/decl/namespace_unscoped.php.exp
hphp/hack/test/decl/php_std_lib.hhi.exp
hphp/hack/test/decl/qualified_name_in_attribute_arg.php.exp
hphp/hack/test/decl/readonly.php.exp
hphp/hack/test/decl/ret_from_kind.php.exp
hphp/hack/test/decl/return_disposable.php.exp
hphp/hack/test/decl/rewritten_tparams.php.exp
hphp/hack/test/decl/shapes.php.exp
hphp/hack/test/decl/soft_reified.php.exp
hphp/hack/test/decl/soft_type_hint.php.exp
hphp/hack/test/decl/tuples.php.exp
hphp/hack/test/decl/use_type.php.exp
hphp/hack/test/decl/variadic_parameter.php.exp
hphp/hack/test/decl/wildcard_invalid.php.exp
hphp/hack/test/decl/wildcard_invalid_targ.php.exp
hphp/hack/test/decl/xhp.php.exp
hphp/hack/test/decl/yield_deeper.php.exp
hphp/hack/test/sound_dynamic/decl/supportdynamic_hint.php.exp
hphp/hack/test/sound_dynamic/decl/top_level.good.php.exp