Support "num args" extra parameter to HNI builtins
commit2e079abefc64c59fb9bd1acd6ea827e3a69ad2c3
authorSara Golemon <sgolemon@fb.com>
Fri, 15 May 2015 21:28:13 +0000 (15 14:28 -0700)
committerhhvm-bot <hhvm-bot@fb.com>
Mon, 18 May 2015 17:00:36 +0000 (18 10:00 -0700)
treefbae85f3040128bbc77ed0add11f74878811b292
parentc8ee5742fc28592d399ab103175b7c07f72571c2
Support "num args" extra parameter to HNI builtins

Summary: For example:

  <<__Native("NumArgs")>>
  function foo(string $bar = "baz"): bool;

maps to:

  bool HHVM_FUNCTION(foo, int64_t numArgs, const String& bar)

Then numArgs will be 0 or 1 depending if the default value for $bar
was used.

Reviewed By: @paulbiss

Differential Revision: D2077463
hphp/runtime/base/attr.h
hphp/runtime/ext/array/ext_array.cpp
hphp/runtime/ext/array/ext_array.h
hphp/runtime/ext/array/ext_array.php
hphp/runtime/vm/bytecode.cpp
hphp/runtime/vm/func-emitter.cpp
hphp/runtime/vm/jit/code-gen-x64.cpp
hphp/runtime/vm/jit/extra-data.h
hphp/runtime/vm/jit/irgen-builtin.cpp
hphp/runtime/vm/native.cpp
hphp/runtime/vm/native.h