diff options
| author | Dmitry Stogov <dmitry@php.net> | 2008-07-14 09:49:03 +0000 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@php.net> | 2008-07-14 09:49:03 +0000 |
| commit | d5ef2f466cb112fd977a71419fa4b67d0aa0a2ac (patch) | |
| tree | 2f61549b96e8db664a1467f36ce11772600c86a9 /Zend/zend_compile.h | |
| parent | d23342397c14a6efb3e0b1ea20928f81ccc48657 (diff) | |
| download | php-git-d5ef2f466cb112fd977a71419fa4b67d0aa0a2ac.tar.gz | |
Added support for lambda functions and closures
Diffstat (limited to 'Zend/zend_compile.h')
| -rw-r--r-- | Zend/zend_compile.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index 7198715b6f..89ae65108c 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -151,6 +151,8 @@ typedef struct _zend_try_catch_element { /* class implement interface(s) flag */ #define ZEND_ACC_IMPLEMENT_INTERFACES 0x80000 +#define ZEND_ACC_CLOSURE 0x100000 + char *zend_visibility_string(zend_uint fn_flags); @@ -429,6 +431,9 @@ void zend_do_end_function_call(znode *function_name, znode *result, znode *argum void zend_do_return(znode *expr, int do_end_vparse TSRMLS_DC); void zend_do_handle_exception(TSRMLS_D); +void zend_do_begin_lambda_function_declaration(znode *result, znode *function_token, int return_reference, int is_static TSRMLS_DC); +void zend_do_fetch_lexical_variable(znode *varname, zend_bool is_ref TSRMLS_DC); + void zend_do_try(znode *try_token TSRMLS_DC); void zend_do_begin_catch(znode *try_token, znode *catch_class, znode *catch_var, znode *first_catch TSRMLS_DC); void zend_do_end_catch(znode *try_token TSRMLS_DC); @@ -614,7 +619,8 @@ int zendlex(znode *zendlval TSRMLS_DC); #define ZEND_FETCH_LOCAL 1 #define ZEND_FETCH_STATIC 2 #define ZEND_FETCH_STATIC_MEMBER 3 -#define ZEND_FETCH_GLOBAL_LOCK 4 +#define ZEND_FETCH_GLOBAL_LOCK 4 +#define ZEND_FETCH_LEXICAL 5 /* class fetches */ |
