separate typing_env_types and typing_env
commit9b4cf91b4f24fa35489c52bfd46eeed0a35e3d91
authorCatherine Gasnier <catg@fb.com>
Wed, 28 Aug 2019 13:34:52 +0000 (28 06:34 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Wed, 28 Aug 2019 13:38:53 +0000 (28 06:38 -0700)
tree07d8b15c9c8c61e959272fd7d813f12cc45d4d86
parentf971d5806daa5f7e5be33658ab718aad98dfd781
separate typing_env_types and typing_env

Summary:
This diff will allow constructors in Typing_make_type to actually call things like `union` and `intersect`.

It separates Typing_env and Typing_env_types in two different modules to make it easier to deal with circular dependencies. (Typing_env used to *include* Typing_env_types, now it opens it). Now Typing_make_type can depend on Typing_env_types only, avoiding a circular dependency with Typing_env (see D16964381).

Most modules referring to type `env` or other types and record fields now simply open Typing_env_types, the same way they open Typing_defs.

Reviewed By: Wilfred

Differential Revision: D16964286

fbshipit-source-id: 14e0ef9352f8ab7a3ddfbbb80a1fcadace9f9a17
49 files changed:
hphp/hack/src/server/serverRewriteReturnType.ml
hphp/hack/src/typing/dune
hphp/hack/src/typing/nastCheck.ml
hphp/hack/src/typing/nastInitCheck.ml
hphp/hack/src/typing/tast_env.ml
hphp/hack/src/typing/tast_env.mli
hphp/hack/src/typing/tast_typecheck.ml
hphp/hack/src/typing/type_mapper.ml
hphp/hack/src/typing/type_parameter_env_ops.mli
hphp/hack/src/typing/typing.ml
hphp/hack/src/typing/typing_arrays.ml
hphp/hack/src/typing/typing_debug.ml
hphp/hack/src/typing/typing_enforceability.ml
hphp/hack/src/typing/typing_env.ml
hphp/hack/src/typing/typing_env.mli
hphp/hack/src/typing/typing_env_types.ml
hphp/hack/src/typing/typing_env_types.mli [moved from hphp/hack/src/typing/typing_env_types_sig.mli with 96% similarity]
hphp/hack/src/typing/typing_expand.mli
hphp/hack/src/typing/typing_extends.mli
hphp/hack/src/typing/typing_exts.ml
hphp/hack/src/typing/typing_generic_constraint.ml
hphp/hack/src/typing/typing_intersection.mli
hphp/hack/src/typing/typing_lenv.ml
hphp/hack/src/typing/typing_lenv.mli
hphp/hack/src/typing/typing_log.ml
hphp/hack/src/typing/typing_memoize.ml
hphp/hack/src/typing/typing_memoize.mli
hphp/hack/src/typing/typing_mutability.ml
hphp/hack/src/typing/typing_mutability.mli
hphp/hack/src/typing/typing_per_cont_ops.mli
hphp/hack/src/typing/typing_phase.ml
hphp/hack/src/typing/typing_phase.mli
hphp/hack/src/typing/typing_print.ml
hphp/hack/src/typing/typing_print.mli
hphp/hack/src/typing/typing_reactivity.ml
hphp/hack/src/typing/typing_requirements.mli
hphp/hack/src/typing/typing_return.mli
hphp/hack/src/typing/typing_solver.ml
hphp/hack/src/typing/typing_solver.mli
hphp/hack/src/typing/typing_substring.ml
hphp/hack/src/typing/typing_subtype.ml
hphp/hack/src/typing/typing_subtype.mli
hphp/hack/src/typing/typing_subtype_tconst.mli
hphp/hack/src/typing/typing_taccess.ml
hphp/hack/src/typing/typing_taccess.mli
hphp/hack/src/typing/typing_union.mli
hphp/hack/src/typing/typing_utils.ml
hphp/hack/src/typing/typing_visibility.mli
hphp/hack/src/typing/typing_xhp.mli