Handle interface methods properly
commit0fc54abe934805baf64733ef88bedd6a70771654
authorPaul Bissonnette <paulbiss@fb.com>
Mon, 12 Apr 2021 17:33:12 +0000 (12 10:33 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Mon, 12 Apr 2021 17:34:58 +0000 (12 10:34 -0700)
tree8497b44506ce26bc7d1b602a1fc86d32b2ca1eba
parentc2eb0a8f511aca30407d1c23f8840aeec4e133b5
Handle interface methods properly

Summary: We don't include interface methods in the method table for classes that implement them (or interfaces that extend them), the assumption is that eventually they will be implemented and the implementation will be part of the table. This fixes the `meth_caller` checks so that it's still possible to construct a meth_caller using an interface method.

Reviewed By: ricklavoie

Differential Revision: D27659488

fbshipit-source-id: ec2301dfb825ce7b11018c9786c90899a5870af4
hphp/runtime/base/builtin-functions.cpp
hphp/test/slow/meth-caller-iface.php [new file with mode: 0644]
hphp/test/slow/meth-caller-iface.php.expect [new file with mode: 0644]
hphp/test/slow/meth-caller-iface.php.hphp_opts [new file with mode: 0644]
hphp/test/slow/meth-caller-iface.php.opts [new file with mode: 0644]