Define decl types for typing_defs_core, typing_defs, and shallow_decl_defs
commit7f266e1873db3f7e169d0325035e8640acbed4b0
authorJake Bailey (Hacklang) <jakebailey@fb.com>
Wed, 2 Feb 2022 09:30:44 +0000 (2 01:30 -0800)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Wed, 2 Feb 2022 09:34:18 +0000 (2 01:34 -0800)
tree13df799e97e224d7d069119aa87d4c3c71b696df
parent3abe5df247da388bc61c1fb59f199cc29d4ed7cd
Define decl types for typing_defs_core, typing_defs, and shallow_decl_defs

Summary:
Copy the contents of oxidized/gen/typing_defs_core.rs and oxidized/gen/typing_defs.rs into decl_defs/ty.rs. Copy the contents of oxidized/gen/shallow_decl_defs.rs into decl_defs/shallow.rs. Replace String with Symbol, parameterize over Reason.

Merge a lot of oxidized and oxidized_by_ref types by labeling oxidized versions as Copy and re-exporting in oxidized_by_ref. Write conversion functions (from oxidized_by_ref decls) for most of the types which occur in decl_defs::{ty,shallow}.

Reviewed By: shayne-fletcher

Differential Revision: D33909607

fbshipit-source-id: f65d23a8eb8e6c24fdfeb7ea94019395e9317f6d
40 files changed:
hphp/hack/src/decl/direct_decl_smart_constructors.rs
hphp/hack/src/facts/facts.rs
hphp/hack/src/hcons/lib.rs
hphp/hack/src/hh_oxidize/convert_type_decl.ml
hphp/hack/src/naming/nast.ml
hphp/hack/src/oxidized/copy_types.txt [new file with mode: 0644]
hphp/hack/src/oxidized/gen/ast_defs.rs
hphp/hack/src/oxidized/gen/naming_types.rs
hphp/hack/src/oxidized/gen/nast.rs
hphp/hack/src/oxidized/gen/typing_defs.rs
hphp/hack/src/oxidized/gen/xhp_attribute.rs
hphp/hack/src/oxidized_by_ref/copy_types.txt
hphp/hack/src/oxidized_by_ref/decl_visitor/node_impl_gen.rs
hphp/hack/src/oxidized_by_ref/decl_visitor/visitor.rs
hphp/hack/src/oxidized_by_ref/extern_types.txt
hphp/hack/src/oxidized_by_ref/gen/aast.rs
hphp/hack/src/oxidized_by_ref/gen/aast_defs.rs
hphp/hack/src/oxidized_by_ref/gen/ast_defs.rs
hphp/hack/src/oxidized_by_ref/gen/decl_defs.rs
hphp/hack/src/oxidized_by_ref/gen/nast.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_reason.rs
hphp/hack/src/oxidized_by_ref/gen/xhp_attribute.rs
hphp/hack/src/oxidized_regen.sh
hphp/hack/src/rupro/lib/alloc/alloc_bytes.rs
hphp/hack/src/rupro/lib/alloc/alloc_decl_defs.rs
hphp/hack/src/rupro/lib/alloc/mod.rs
hphp/hack/src/rupro/lib/decl_defs/folded.rs
hphp/hack/src/rupro/lib/decl_defs/mod.rs
hphp/hack/src/rupro/lib/decl_defs/shallow.rs
hphp/hack/src/rupro/lib/decl_defs/ty.rs
hphp/hack/src/rupro/lib/decl_hint.rs
hphp/hack/src/rupro/lib/folded_decl_provider/provider.rs
hphp/hack/src/rupro/lib/pos/symbol.rs
hphp/hack/src/rupro/lib/shallow_decl_provider/provider.rs
hphp/hack/src/rupro/lib/typing_defs/ty.rs
hphp/hack/src/rupro/lib/typing_phase.rs
hphp/hack/src/rupro/lib/utils/core/ident.rs