Move detection of empty and isset usage in strict mode from inference phase to TAST check phase
Summary:
In strict mode, we forbid uses of the special PHP pseudofunctions `isset` and `empty`, which are unfriendly to static analysis.
Before this update this check was done during the inference phase (i.e., `typing.ml`).
The new `Pseudofunctions_check` handler moves the check for special PHP pseudofunctions `isset` and `empty` out of inference and into a separate, post-inference pass on the typed AST.
Differential Revision:
D13334673
fbshipit-source-id:
58eea75f60a60e9f7bfdbcbb33ca8d1c9f9014be