Make modules an opaque type
commitfb97d7d3675d24049b3aabdbb2eabe834eb0fb75
authorHunter Goldstein <hgoldstein@fb.com>
Wed, 6 Oct 2021 19:56:12 +0000 (6 12:56 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Wed, 6 Oct 2021 19:57:35 +0000 (6 12:57 -0700)
tree61b302fe43a972ed10767a54914a1efa70a457c6
parent4126b29970690b64ab171ffae6468c78bd4b1180
Make modules an opaque type

Summary:
TSIA: modules are coded as `string option` everywhere, let's have them be a bespoke, opaque, type.

Note: I don't know how to get `hh_oxidize` to understand that this is meant to be an opaque type, nor do I see Rust even *having* opaque type aliases.

Reviewed By: Wilfred

Differential Revision: D31066226

fbshipit-source-id: fa072e3ca474bf167f63f6dc37582bdc9b488b90
34 files changed:
hphp/hack/src/decl/decl_defs.ml
hphp/hack/src/decl/decl_folded_class.ml
hphp/hack/src/decl/decl_nast.ml
hphp/hack/src/decl/decl_to_typing.ml
hphp/hack/src/decl/decl_to_typing.mli
hphp/hack/src/decl/direct_decl_smart_constructors.rs
hphp/hack/src/decl/shallow_decl.ml
hphp/hack/src/decl/shallow_decl_defs.ml
hphp/hack/src/decl/shallow_decl_defs.mli
hphp/hack/src/oxidized_by_ref/gen/decl_defs.rs
hphp/hack/src/oxidized_by_ref/gen/mod.rs
hphp/hack/src/oxidized_by_ref/gen/shallow_decl_defs.rs
hphp/hack/src/oxidized_by_ref/gen/typing_defs.rs
hphp/hack/src/oxidized_by_ref/gen/typing_defs_core.rs
hphp/hack/src/oxidized_by_ref/gen/typing_env_types.rs
hphp/hack/src/oxidized_by_ref/gen/typing_modules.rs [new file with mode: 0644]
hphp/hack/src/oxidized_by_ref/lib.rs
hphp/hack/src/oxidized_regen.sh
hphp/hack/src/typing/dune
hphp/hack/src/typing/typing.ml
hphp/hack/src/typing/typing_classes_heap.mli
hphp/hack/src/typing/typing_defs.ml
hphp/hack/src/typing/typing_defs.mli
hphp/hack/src/typing/typing_defs_core.ml
hphp/hack/src/typing/typing_defs_core.mli
hphp/hack/src/typing/typing_env.mli
hphp/hack/src/typing/typing_env_types.ml
hphp/hack/src/typing/typing_env_types.mli
hphp/hack/src/typing/typing_extends.ml
hphp/hack/src/typing/typing_log.ml
hphp/hack/src/typing/typing_modules.ml [new file with mode: 0644]
hphp/hack/src/typing/typing_modules.mli [new file with mode: 0644]
hphp/hack/src/typing/typing_toplevel.ml
hphp/hack/src/typing/typing_visibility.ml