HHVM support for HH\is_vec_or_varray() and HH\is_dict_or_darray()
Summary:
We've decided, that we want to expose HH\is_vec_or_varray() and HH\is_dict_or_darray() primitives now, that varray and darray are distinct runtime types.
This diff adds HHVM support. I'll put up typechecker support (to refine the argument) in a separate diff. For now, just add them into hhi.
Unlike other is_*** functions, I added HH\is_vec_or_varray() and HH\is_dict_or_darray() as standard builtins, not builtins-which-get-emitted-as-special-bytecodes. We can revisit it, if these functions become hot, but for now adding bytecodes for these functions seems an overkill to me. Let me know, if anyone feels strongly otherwise.
I added cls_meth compatibility logging into is_vec_or_varray(), but nothing else - I don't think we need any other logging in there (e.g. none of the HAM logging).
Differential Revision:
D22200598
fbshipit-source-id:
65ce3a9f4dfef98cb6ca796b24badc27713481bf