@@ -50,6 +50,10 @@ phper_init_class_entry_handler(zend_class_entry *class_ce, void *argument);
50
50
#define IS_VOID 0x1D
51
51
#endif
52
52
53
+ #ifndef ZEND_CALL_MAY_HAVE_UNDEF
54
+ #define ZEND_CALL_MAY_HAVE_UNDEF (1 << 26)
55
+ #endif
56
+
53
57
// ==================================================
54
58
// zval apis:
55
59
// ==================================================
@@ -198,6 +202,10 @@ void phper_zval_str(zval *zv, zend_string *s) {
198
202
ZVAL_STR (zv , s );
199
203
}
200
204
205
+ void phper_zval_undef (zval * zv ) {
206
+ ZVAL_UNDEF (zv );
207
+ }
208
+
201
209
void phper_convert_to_long (zval * op ) {
202
210
convert_to_long (op );
203
211
}
@@ -348,6 +356,10 @@ zval *phper_get_this(zend_execute_data *execute_data) {
348
356
return getThis ();
349
357
}
350
358
359
+ zend_class_entry * phper_get_called_scope (zend_execute_data * execute_data ) {
360
+ return zend_get_called_scope (execute_data );
361
+ }
362
+
351
363
size_t phper_zend_object_properties_size (zend_class_entry * ce ) {
352
364
return zend_object_properties_size (ce );
353
365
}
@@ -447,11 +459,39 @@ uint32_t phper_zend_num_args(const zend_execute_data *execute_data) {
447
459
return ZEND_NUM_ARGS ();
448
460
}
449
461
462
+ uint32_t phper_zend_call_num_args (const zend_execute_data * execute_data ) {
463
+ return ZEND_CALL_NUM_ARGS (execute_data );
464
+ }
465
+
466
+ void phper_zend_set_call_num_args (zend_execute_data * execute_data , uint32_t num ) {
467
+ ZEND_CALL_NUM_ARGS (execute_data ) = num ;
468
+ }
469
+
470
+ uint32_t phper_zend_call_info (zend_execute_data * execute_data ) {
471
+ return ZEND_CALL_INFO (execute_data );
472
+ }
473
+
474
+ void phper_zend_add_call_flag (zend_execute_data * execute_data , uint32_t flag ) {
475
+ ZEND_ADD_CALL_FLAG (execute_data , flag );
476
+ }
477
+
450
478
bool phper_zend_get_parameters_array_ex (uint32_t param_count ,
451
479
zval * argument_array ) {
452
480
return zend_get_parameters_array_ex (param_count , argument_array ) != 0 ;
453
481
}
454
482
483
+ uint32_t phper_zend_call_may_have_undef () {
484
+ return ZEND_CALL_MAY_HAVE_UNDEF ;
485
+ }
486
+
487
+ int phper_zend_result_success () {
488
+ return SUCCESS ;
489
+ }
490
+
491
+ int phper_zend_result_failure () {
492
+ return FAILURE ;
493
+ }
494
+
455
495
// ==================================================
456
496
// memory apis:
457
497
// ==================================================
0 commit comments