php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
zend_closures.c File Reference
#include "zend.h"
#include "zend_API.h"
#include "zend_closures.h"
#include "zend_exceptions.h"
#include "zend_interfaces.h"
#include "zend_objects.h"
#include "zend_objects_API.h"
#include "zend_globals.h"
#include "zend_closures_arginfo.h"

Go to the source code of this file.

Data Structures

struct  _zend_closure
 

Typedefs

typedef struct _zend_closure zend_closure
 

Functions

 ZEND_PARSE_PARAMETERS_END ()
 
 if (call_user_function_named(CG(function_table), NULL, ZEND_THIS, return_value, num_args, args, named_args)==FAILURE)
 
 zend_string_release_ex (func->internal_function.function_name, 0)
 
 efree (func)
 
 ZEND_METHOD (Closure, call)
 
 ZEND_METHOD (Closure, bind)
 
 ZEND_METHOD (Closure, bindTo)
 
 ZEND_METHOD (Closure, fromCallable)
 
ZEND_API zend_functionzend_get_closure_invoke_method (zend_object *object)
 
ZEND_API const zend_functionzend_get_closure_method_def (zend_object *obj)
 
ZEND_API zvalzend_get_closure_this_ptr (zval *obj)
 
ZEND_COLD ZEND_METHOD (Closure, __construct)
 
void zend_register_closure_ce (void)
 
ZEND_API void zend_create_closure (zval *res, zend_function *func, zend_class_entry *scope, zend_class_entry *called_scope, zval *this_ptr)
 
ZEND_API void zend_create_fake_closure (zval *res, zend_function *func, zend_class_entry *scope, zend_class_entry *called_scope, zval *this_ptr)
 
void zend_closure_from_frame (zval *return_value, zend_execute_data *call)
 
void zend_closure_bind_var (zval *closure_zv, zend_string *var_name, zval *var)
 
void zend_closure_bind_var_ex (zval *closure_zv, uint32_t offset, zval *val)
 

Variables

ZEND_API zend_class_entryzend_ce_closure
 
zvalargs
 
uint32_t num_args
 
HashTablenamed_args
 
execute_data func = NULL
 

Typedef Documentation

◆ zend_closure

typedef struct _zend_closure zend_closure

Function Documentation

◆ efree()

efree ( func )

◆ if()

Definition at line 54 of file zend_closures.c.

◆ zend_closure_bind_var()

void zend_closure_bind_var ( zval * closure_zv,
zend_string * var_name,
zval * var )

Definition at line 902 of file zend_closures.c.

◆ zend_closure_bind_var_ex()

void zend_closure_bind_var_ex ( zval * closure_zv,
uint32_t offset,
zval * val )

Definition at line 910 of file zend_closures.c.

◆ zend_closure_from_frame()

void zend_closure_from_frame ( zval * return_value,
zend_execute_data * call )

Definition at line 856 of file zend_closures.c.

◆ zend_create_closure()

ZEND_API void zend_create_closure ( zval * res,
zend_function * func,
zend_class_entry * scope,
zend_class_entry * called_scope,
zval * this_ptr )

Definition at line 836 of file zend_closures.c.

◆ zend_create_fake_closure()

ZEND_API void zend_create_fake_closure ( zval * res,
zend_function * func,
zend_class_entry * scope,
zend_class_entry * called_scope,
zval * this_ptr )

Definition at line 842 of file zend_closures.c.

◆ zend_get_closure_invoke_method()

ZEND_API zend_function * zend_get_closure_invoke_method ( zend_object * object)

Definition at line 463 of file zend_closures.c.

◆ zend_get_closure_method_def()

ZEND_API const zend_function * zend_get_closure_method_def ( zend_object * obj)

Definition at line 492 of file zend_closures.c.

◆ zend_get_closure_this_ptr()

ZEND_API zval * zend_get_closure_this_ptr ( zval * obj)

Definition at line 499 of file zend_closures.c.

◆ ZEND_METHOD() [1/5]

ZEND_COLD ZEND_METHOD ( Closure ,
__construct  )

Definition at line 698 of file zend_closures.c.

◆ ZEND_METHOD() [2/5]

ZEND_METHOD ( Closure ,
bind  )

Definition at line 253 of file zend_closures.c.

◆ ZEND_METHOD() [3/5]

ZEND_METHOD ( Closure ,
bindTo  )

Definition at line 270 of file zend_closures.c.

◆ ZEND_METHOD() [4/5]

ZEND_METHOD ( Closure ,
call  )

Definition at line 123 of file zend_closures.c.

◆ ZEND_METHOD() [5/5]

ZEND_METHOD ( Closure ,
fromCallable  )

Definition at line 391 of file zend_closures.c.

◆ ZEND_PARSE_PARAMETERS_END()

ZEND_PARSE_PARAMETERS_END ( )

◆ zend_register_closure_ce()

void zend_register_closure_ce ( void )

Definition at line 704 of file zend_closures.c.

◆ zend_string_release_ex()

zend_string_release_ex ( func->internal_function. function_name,
0  )

Variable Documentation

◆ args

zval* args
Initial value:
{
execute_data func
#define EX(element)
union _zend_function zend_function

Definition at line 46 of file zend_closures.c.

◆ func

Definition at line 68 of file zend_closures.c.

◆ named_args

HashTable* named_args

Definition at line 48 of file zend_closures.c.

◆ num_args

uint32_t num_args

Definition at line 47 of file zend_closures.c.

◆ zend_ce_closure

ZEND_API zend_class_entry* zend_ce_closure

Definition at line 40 of file zend_closures.c.