@@ -29,7 +29,6 @@ php_v8_return_value_t * php_v8_callback_info_create_from_info(zval *return_value
29
29
zval tmp;
30
30
zval arg_zv;
31
31
php_v8_return_value_t *php_v8_return_value;
32
- v8::Local<v8::Value> local_value;
33
32
34
33
v8::Isolate *isolate = args.GetIsolate ();
35
34
v8::Local<v8::Context> context = isolate->GetEnteredContext ();
@@ -87,6 +86,19 @@ php_v8_return_value_t * php_v8_callback_info_create_from_info(zval *return_value
87
86
return php_v8_return_value;
88
87
}
89
88
89
+ static PHP_METHOD (V8FunctionCallbackInfo, Length) {
90
+ zval rv;
91
+ zval *tmp;
92
+
93
+ if (zend_parse_parameters_none () == FAILURE) {
94
+ return ;
95
+ }
96
+
97
+ tmp = zend_read_property (this_ce, getThis (), ZEND_STRL (" arguments" ), 0 , &rv);
98
+
99
+ RETURN_LONG (zend_array_count (Z_ARRVAL_P (tmp)));
100
+ }
101
+
90
102
static PHP_METHOD (V8FunctionCallbackInfo, Arguments) {
91
103
zval rv;
92
104
zval *tmp;
@@ -124,6 +136,9 @@ static PHP_METHOD(V8FunctionCallbackInfo, IsConstructCall) {
124
136
}
125
137
126
138
139
+ PHP_V8_ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX (arginfo_v8_function_callback_info_Length, ZEND_RETURN_VALUE, 0 , IS_LONG, 0 )
140
+ ZEND_END_ARG_INFO()
141
+
127
142
PHP_V8_ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_v8_function_callback_info_Arguments, ZEND_RETURN_VALUE, 0 , IS_ARRAY, 0 )
128
143
ZEND_END_ARG_INFO()
129
144
@@ -135,6 +150,7 @@ ZEND_END_ARG_INFO()
135
150
136
151
137
152
static const zend_function_entry php_v8_function_callback_info_methods[] = {
153
+ PHP_ME (V8FunctionCallbackInfo, Length, arginfo_v8_function_callback_info_Length, ZEND_ACC_PUBLIC)
138
154
PHP_ME (V8FunctionCallbackInfo, Arguments, arginfo_v8_function_callback_info_Arguments, ZEND_ACC_PUBLIC)
139
155
PHP_ME (V8FunctionCallbackInfo, NewTarget, arginfo_v8_function_callback_info_NewTarget, ZEND_ACC_PUBLIC)
140
156
PHP_ME (V8FunctionCallbackInfo, IsConstructCall, arginfo_v8_function_callback_info_IsConstructCall, ZEND_ACC_PUBLIC)
0 commit comments