summaryrefslogtreecommitdiff
path: root/Zend/zend_ast.h
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_ast.h')
-rw-r--r--Zend/zend_ast.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/Zend/zend_ast.h b/Zend/zend_ast.h
index 499b8b4191..fd6dd1677a 100644
--- a/Zend/zend_ast.h
+++ b/Zend/zend_ast.h
@@ -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,
@@ -281,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;
}