Adding support for __Pu in the type checker
commit154747937cec54d2c41a4828354540b2ecaeaef2
authorVincent Siles <vsiles@fb.com>
Thu, 23 Jul 2020 10:48:11 +0000 (23 03:48 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Thu, 23 Jul 2020 10:53:46 +0000 (23 03:53 -0700)
treeb67a2782dd57744b6030b43e3a94ee2eb6fe38f6
parentf9cc41330549072e552ed5979c5fa8c00f5286e5
Adding support for __Pu in the type checker

Summary:
To help compilation which doesn't have enough local information when
traits are involved, we require for now a user annotation to compile
correctly. These annotations are checked by the type checker, which
also provide them if they are missing or invalid.

Reviewed By: madgen

Differential Revision: D22356844

fbshipit-source-id: c57f597b90c9e3d9d50d44a439102f8fd7564d6a
22 files changed:
hphp/hack/src/errors/error_codes.ml
hphp/hack/src/errors/errors.ml
hphp/hack/src/errors/errors.mli
hphp/hack/src/naming/naming_special_names.ml
hphp/hack/src/typing/nast_check/pocket_universes_check.ml
hphp/hack/src/typing/tast_check/pocket_universes_path_check.ml
hphp/hack/test/errors/error_map.ml
hphp/hack/test/pocket_universes/naming/trait_conflict.bad.php
hphp/hack/test/pocket_universes/naming/trait_conflict.bad.php.exp
hphp/hack/test/pocket_universes/typing/trait_attribute.bad.php [new file with mode: 0644]
hphp/hack/test/pocket_universes/typing/trait_attribute.bad.php.exp [new file with mode: 0644]
hphp/hack/test/pocket_universes/typing/trait_attribute.good.php [new file with mode: 0644]
hphp/hack/test/pocket_universes/typing/trait_attribute.good.php.exp [new file with mode: 0644]
hphp/hack/test/typecheck/pocket_universes/HH_FLAGS [new file with mode: 0644]
hphp/hack/test/typecheck/pocket_universes/test_pocket_universes_syntax_atom.php [moved from hphp/hack/test/typecheck/test_pocket_universes_syntax_atom.php with 100% similarity]
hphp/hack/test/typecheck/pocket_universes/test_pocket_universes_syntax_atom.php.exp [moved from hphp/hack/test/typecheck/test_pocket_universes_syntax_atom.php.exp with 100% similarity]
hphp/hack/test/typecheck/pocket_universes/test_pocket_universes_syntax_attribute.php [new file with mode: 0644]
hphp/hack/test/typecheck/pocket_universes/test_pocket_universes_syntax_attribute.php.exp [new file with mode: 0644]
hphp/hack/test/typecheck/pocket_universes/test_pocket_universes_syntax_attribute.php.legacy_decl.exp [new file with mode: 0644]
hphp/hack/test/typecheck/pocket_universes/test_pocket_universes_syntax_attribute.php.like_types.exp [new file with mode: 0644]
hphp/hack/test/typecheck/pocket_universes/test_pocket_universes_syntax_enumeration.php [moved from hphp/hack/test/typecheck/test_pocket_universes_syntax_enumeration.php with 100% similarity]
hphp/hack/test/typecheck/pocket_universes/test_pocket_universes_syntax_enumeration.php.exp [moved from hphp/hack/test/typecheck/test_pocket_universes_syntax_enumeration.php.exp with 100% similarity]