Skip to content

Commit 043231a

Browse files
committed
Add new_dereferenceable explicitly to other expressions instead of callable_variable
1 parent 1289eec commit 043231a

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

Zend/zend_language_parser.y

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1230,6 +1230,7 @@ expr:
12301230
$$ = $2;
12311231
if ($$->kind == ZEND_AST_CONDITIONAL) $$->attr = ZEND_PARENTHESIZED_CONDITIONAL;
12321232
}
1233+
| new_dereferenceable { $$ = $1; }
12331234
| new_non_dereferenceable { $$ = $1; }
12341235
| expr '?' expr ':' expr
12351236
{ $$ = zend_ast_create(ZEND_AST_CONDITIONAL, $1, $3, $5); }
@@ -1329,6 +1330,8 @@ function_call:
13291330
{ $$ = zend_ast_create(ZEND_AST_STATIC_CALL, $1, $3, $4); }
13301331
| variable_class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list
13311332
{ $$ = zend_ast_create(ZEND_AST_STATIC_CALL, $1, $3, $4); }
1333+
| new_dereferenceable T_PAAMAYIM_NEKUDOTAYIM member_name argument_list
1334+
{ $$ = zend_ast_create(ZEND_AST_STATIC_CALL, $1, $3, $4); }
13321335
| callable_expr { $<num>$ = CG(zend_lineno); } argument_list {
13331336
$$ = zend_ast_create(ZEND_AST_CALL, $1, $3);
13341337
$$->lineno = $<num>2;
@@ -1403,10 +1406,14 @@ class_constant:
14031406
{ $$ = zend_ast_create_class_const_or_name($1, $3); }
14041407
| variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier
14051408
{ $$ = zend_ast_create_class_const_or_name($1, $3); }
1409+
| new_dereferenceable T_PAAMAYIM_NEKUDOTAYIM identifier
1410+
{ $$ = zend_ast_create_class_const_or_name($1, $3); }
14061411
| class_name T_PAAMAYIM_NEKUDOTAYIM '{' expr '}'
14071412
{ $$ = zend_ast_create(ZEND_AST_CLASS_CONST, $1, $4); }
14081413
| variable_class_name T_PAAMAYIM_NEKUDOTAYIM '{' expr '}'
14091414
{ $$ = zend_ast_create(ZEND_AST_CLASS_CONST, $1, $4); }
1415+
| new_dereferenceable T_PAAMAYIM_NEKUDOTAYIM '{' expr '}'
1416+
{ $$ = zend_ast_create(ZEND_AST_CLASS_CONST, $1, $4); }
14101417
;
14111418

14121419
optional_expr:
@@ -1428,12 +1435,14 @@ fully_dereferenceable:
14281435
array_object_dereferenceable:
14291436
fully_dereferenceable { $$ = $1; }
14301437
| constant { $$ = $1; }
1438+
| new_dereferenceable { $$ = $1; }
14311439
;
14321440

14331441
callable_expr:
14341442
callable_variable { $$ = $1; }
14351443
| '(' expr ')' { $$ = $2; }
14361444
| dereferenceable_scalar { $$ = $1; }
1445+
| new_dereferenceable { $$ = $1; }
14371446
;
14381447

14391448
callable_variable:
@@ -1448,7 +1457,6 @@ callable_variable:
14481457
| array_object_dereferenceable T_NULLSAFE_OBJECT_OPERATOR property_name argument_list
14491458
{ $$ = zend_ast_create(ZEND_AST_NULLSAFE_METHOD_CALL, $1, $3, $4); }
14501459
| function_call { $$ = $1; }
1451-
| new_dereferenceable { $$ = $1; }
14521460
;
14531461

14541462
variable:
@@ -1473,6 +1481,8 @@ static_member:
14731481
{ $$ = zend_ast_create(ZEND_AST_STATIC_PROP, $1, $3); }
14741482
| variable_class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable
14751483
{ $$ = zend_ast_create(ZEND_AST_STATIC_PROP, $1, $3); }
1484+
| new_dereferenceable T_PAAMAYIM_NEKUDOTAYIM simple_variable
1485+
{ $$ = zend_ast_create(ZEND_AST_STATIC_PROP, $1, $3); }
14761486
;
14771487

14781488
new_variable:

0 commit comments

Comments
 (0)