20#ifndef ZEND_CLOSURES_H
21#define ZEND_CLOSURES_H
28#define ZEND_CLOSURE_OBJECT(op_array) \
29 ((zend_object*)((char*)(op_array) - sizeof(zend_object)))
ZEND_API zend_class_entry * zend_ce_closure
void zend_register_closure_ce(void)
ZEND_API const zend_function * zend_get_closure_method_def(zend_object *obj)
void zend_closure_from_frame(zval *closure_zv, zend_execute_data *frame)
ZEND_API void zend_create_closure(zval *res, zend_function *op_array, zend_class_entry *scope, zend_class_entry *called_scope, zval *this_ptr)
ZEND_API zval * zend_get_closure_this_ptr(zval *obj)
ZEND_API zend_function * zend_get_closure_invoke_method(zend_object *obj)
void zend_closure_bind_var_ex(zval *closure_zv, uint32_t offset, zval *val)
ZEND_API void zend_create_fake_closure(zval *res, zend_function *op_array, zend_class_entry *scope, zend_class_entry *called_scope, zval *this_ptr)
void zend_closure_bind_var(zval *closure_zv, zend_string *var_name, zval *var)
union _zend_function zend_function
struct _zend_string zend_string
struct _zend_class_entry zend_class_entry
struct _zend_object zend_object
struct _zend_execute_data zend_execute_data