diff options
Diffstat (limited to 'Zend/zend_ast.h')
-rw-r--r-- | Zend/zend_ast.h | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/Zend/zend_ast.h b/Zend/zend_ast.h index db1f51b378..fd6dd1677a 100644 --- a/Zend/zend_ast.h +++ b/Zend/zend_ast.h @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | Zend Engine | +----------------------------------------------------------------------+ - | Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) | + | Copyright (c) Zend Technologies Ltd. (http://www.zend.com) | +----------------------------------------------------------------------+ | This source file is subject to version 2.00 of the Zend license, | | that is bundled with this package in the file LICENSE, and is | @@ -42,6 +42,7 @@ enum _zend_ast_kind { ZEND_AST_CLOSURE, ZEND_AST_METHOD, ZEND_AST_CLASS, + ZEND_AST_ARROW_FUNC, /* list nodes */ ZEND_AST_ARG_LIST = 1 << ZEND_AST_IS_LIST_SHIFT, @@ -87,6 +88,7 @@ enum _zend_ast_kind { ZEND_AST_POST_INC, ZEND_AST_POST_DEC, ZEND_AST_YIELD_FROM, + ZEND_AST_CLASS_NAME, ZEND_AST_GLOBAL, ZEND_AST_UNSET, @@ -119,6 +121,7 @@ enum _zend_ast_kind { ZEND_AST_INSTANCEOF, ZEND_AST_YIELD, ZEND_AST_COALESCE, + ZEND_AST_ASSIGN_COALESCE, ZEND_AST_STATIC, ZEND_AST_WHILE, @@ -134,6 +137,7 @@ enum _zend_ast_kind { ZEND_AST_USE_ELEM, ZEND_AST_TRAIT_ALIAS, ZEND_AST_GROUP_USE, + ZEND_AST_PROP_GROUP, /* 3 child nodes */ ZEND_AST_METHOD_CALL = 3 << ZEND_AST_NUM_CHILDREN_SHIFT, @@ -200,6 +204,7 @@ ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_zval_from_str(zend_string *str ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_zval_from_long(zend_long lval); ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_constant(zend_string *name, zend_ast_attr attr); +ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_class_const_or_name(zend_ast *class_name, zend_ast *name); #if ZEND_AST_SPEC # define ZEND_AST_SPEC_CALL(name, ...) \ @@ -277,6 +282,10 @@ ZEND_API void ZEND_FASTCALL zend_ast_ref_destroy(zend_ast_ref *ast); typedef void (*zend_ast_apply_func)(zend_ast **ast_ptr); ZEND_API void zend_ast_apply(zend_ast *ast, zend_ast_apply_func fn); +static zend_always_inline zend_bool zend_ast_is_special(zend_ast *ast) { + return (ast->kind >> ZEND_AST_SPECIAL_SHIFT) & 1; +} + static zend_always_inline zend_bool zend_ast_is_list(zend_ast *ast) { return (ast->kind >> ZEND_AST_IS_LIST_SHIFT) & 1; } @@ -331,13 +340,3 @@ static zend_always_inline zend_ast *zend_ast_list_rtrim(zend_ast *ast) { return ast; } #endif - -/* - * Local variables: - * tab-width: 4 - * c-basic-offset: 4 - * indent-tabs-mode: t - * End: - * vim600: sw=4 ts=4 fdm=marker - * vim<600: sw=4 ts=4 - */ |