Typing step for is-expression, part 1
Summary:
This adds a type visitor to validate the hint on the RHS of the expression. Although one would think that we should use decl types for this, we actually use locl types because we will eventually need to drill down through type aliases and type constants. This has the unfortunate side effect of us having to handle types that are impossible to get, like Tany, Terr, etc.
The validator also has a print method for when we need more specific descriptions, which just falls back to `Typing_print.error`.
More tests will be added as I add support for those types.
Reviewed By: dlreeves
Differential Revision:
D6275465
fbshipit-source-id:
4eb3dfb87723a268c9b5dd150593b93b1ce8a9a7