Skip to content

Commit 480f8ef

Browse files
committed
zend_language_parser: Add support for passing a property list to clone
1 parent bed6ba0 commit 480f8ef

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

Zend/zend_ast.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ enum _zend_ast_kind {
8989
ZEND_AST_ISSET,
9090
ZEND_AST_SILENCE,
9191
ZEND_AST_SHELL_EXEC,
92-
ZEND_AST_CLONE,
9392
ZEND_AST_PRINT,
9493
ZEND_AST_INCLUDE_OR_EVAL,
9594
ZEND_AST_UNARY_OP,
@@ -155,6 +154,7 @@ enum _zend_ast_kind {
155154
ZEND_AST_NAMED_ARG,
156155
ZEND_AST_PARENT_PROPERTY_HOOK_CALL,
157156
ZEND_AST_PIPE,
157+
ZEND_AST_CLONE,
158158

159159
/* 3 child nodes */
160160
ZEND_AST_METHOD_CALL = 3 << ZEND_AST_NUM_CHILDREN_SHIFT,

Zend/zend_language_parser.y

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1228,7 +1228,8 @@ expr:
12281228
{ $$ = zend_ast_create(ZEND_AST_ASSIGN, $1, $3); }
12291229
| variable '=' ampersand variable
12301230
{ $$ = zend_ast_create(ZEND_AST_ASSIGN_REF, $1, $4); }
1231-
| T_CLONE expr { $$ = zend_ast_create(ZEND_AST_CLONE, $2); }
1231+
| T_CLONE '(' expr ',' expr ')' { $$ = zend_ast_create(ZEND_AST_CLONE, $3, $5); }
1232+
| T_CLONE expr { $$ = zend_ast_create(ZEND_AST_CLONE, $2, NULL); }
12321233
| variable T_PLUS_EQUAL expr
12331234
{ $$ = zend_ast_create_assign_op(ZEND_ADD, $1, $3); }
12341235
| variable T_MINUS_EQUAL expr

0 commit comments

Comments
 (0)