Fix HHBBC assertions with __LateInit
Summary:
Within HHBBC __LateInit props can have an inferred type of TBottom
depending on the order on which we evaluate the functions in the class (before
we see any sets to the prop). However, the member instruction analysis was not
particularly robust to TBottom and could result in assertions firing. Fix this
by disallowing the member instruction state to ever contain a TBottom type. As
soon as we obtain one, mark the instruction as unreachable. In the past we had
problems with unreachable() inside member instruction sequences, but it all
seems to work now.
Reviewed By: markw65
Differential Revision:
D15060969
fbshipit-source-id:
b779d9b48fa68c31f6e763ed60eff30944092db7