Skip to content

Commit 2dd1176

Browse files
committed
zend_language_parser: Add support for passing a property list to clone
1 parent 04b8a4a commit 2dd1176

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,
@@ -154,6 +153,7 @@ enum _zend_ast_kind {
154153
ZEND_AST_MATCH_ARM,
155154
ZEND_AST_NAMED_ARG,
156155
ZEND_AST_PARENT_PROPERTY_HOOK_CALL,
156+
ZEND_AST_CLONE,
157157

158158
/* 3 child nodes */
159159
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
@@ -1226,7 +1226,8 @@ expr:
12261226
{ $$ = zend_ast_create(ZEND_AST_ASSIGN, $1, $3); }
12271227
| variable '=' ampersand variable
12281228
{ $$ = zend_ast_create(ZEND_AST_ASSIGN_REF, $1, $4); }
1229-
| T_CLONE expr { $$ = zend_ast_create(ZEND_AST_CLONE, $2); }
1229+
| T_CLONE '(' expr ',' expr ')' { $$ = zend_ast_create(ZEND_AST_CLONE, $3, $5); }
1230+
| T_CLONE expr { $$ = zend_ast_create(ZEND_AST_CLONE, $2, NULL); }
12301231
| variable T_PLUS_EQUAL expr
12311232
{ $$ = zend_ast_create_assign_op(ZEND_ADD, $1, $3); }
12321233
| variable T_MINUS_EQUAL expr

0 commit comments

Comments
 (0)