Type empty, isset, unset, and freeze with function types in TAST
commit2fe512495f939206e2aec70aa8e3c719989eaaf2
authorJake Bailey <jakebailey@fb.com>
Thu, 12 Apr 2018 17:33:42 +0000 (12 10:33 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Thu, 12 Apr 2018 17:37:42 +0000 (12 10:37 -0700)
treec40e78a164c77cb8c8069ec2232513b9f27e491a
parenta6231d6dbf7e17c2b5c155c6dd33d2b40cdbd853
Type empty, isset, unset, and freeze with function types in TAST

Summary: Currently, we type the identifiers for these function-like language constructs with `Tany` via `make_call_special`. These constructs have function definitions in hhi, though, so we can simply look them up and use them instead of `Tany`.

Reviewed By: pittsw

Differential Revision: D7529879

fbshipit-source-id: e978d724a63ae6951e248b9b0320f84899e2a516
hphp/hack/src/typing/typing.ml
hphp/hack/test/tast/pseudofunctions.php [new file with mode: 0644]
hphp/hack/test/tast/pseudofunctions.php.exp [new file with mode: 0644]