summaryrefslogtreecommitdiff
path: root/Zend/zend_compile.h
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2008-07-14 09:49:03 +0000
committerDmitry Stogov <dmitry@php.net>2008-07-14 09:49:03 +0000
commitd5ef2f466cb112fd977a71419fa4b67d0aa0a2ac (patch)
tree2f61549b96e8db664a1467f36ce11772600c86a9 /Zend/zend_compile.h
parentd23342397c14a6efb3e0b1ea20928f81ccc48657 (diff)
downloadphp-git-d5ef2f466cb112fd977a71419fa4b67d0aa0a2ac.tar.gz
Added support for lambda functions and closures
Diffstat (limited to 'Zend/zend_compile.h')
-rw-r--r--Zend/zend_compile.h8
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 */