@@ -54,14 +54,14 @@ ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_znode(const znode *node) {
5454 return (zend_ast * ) ast ;
5555}
5656
57- ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_fcc (void ) {
57+ ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_fcc (zend_ast * args ) {
5858 zend_ast_fcc * ast ;
5959
6060 ast = zend_ast_alloc (sizeof (zend_ast_fcc ));
6161 ast -> kind = ZEND_AST_CALLABLE_CONVERT ;
6262 ast -> attr = 0 ;
6363 ast -> lineno = CG (zend_lineno );
64- ast -> args = NULL ;
64+ ast -> args = args ;
6565 ZEND_MAP_PTR_INIT (ast -> fptr , NULL );
6666
6767 return (zend_ast * ) ast ;
@@ -416,9 +416,7 @@ ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_arg_list_1(zend_ast_kind kind,
416416 zend_ast * list = zend_ast_create_list (1 , kind , arg );
417417
418418 if (zend_ast_is_placeholder_arg (arg )) {
419- zend_ast_fcc * fcc_ast = (zend_ast_fcc * )zend_ast_create_fcc ();
420- fcc_ast -> args = list ;
421- return (zend_ast * )fcc_ast ;
419+ return zend_ast_create_fcc (list );
422420 }
423421
424422 return list ;
@@ -428,9 +426,7 @@ ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_arg_list_2(zend_ast_kind kind,
428426 zend_ast * list = zend_ast_create_list (2 , kind , arg1 , arg2 );
429427
430428 if (zend_ast_is_placeholder_arg (arg1 ) || zend_ast_is_placeholder_arg (arg2 )) {
431- zend_ast_fcc * fcc_ast = (zend_ast_fcc * )zend_ast_create_fcc ();
432- fcc_ast -> args = list ;
433- return (zend_ast * )fcc_ast ;
429+ return zend_ast_create_fcc (list );
434430 }
435431
436432 return list ;
@@ -544,9 +540,7 @@ ZEND_API zend_ast *zend_ast_create_arg_list(uint32_t init_children, zend_ast_kin
544540 }
545541
546542 if (has_placeholders ) {
547- zend_ast_fcc * fcc_ast = (zend_ast_fcc * )zend_ast_create_fcc ();
548- fcc_ast -> args = ast ;
549- return (zend_ast * )fcc_ast ;
543+ return zend_ast_create_fcc (list );
550544 }
551545
552546 return ast ;
@@ -591,9 +585,7 @@ ZEND_API zend_ast * ZEND_FASTCALL zend_ast_arg_list_add(zend_ast *list, zend_ast
591585 ZEND_ASSERT (list -> kind == ZEND_AST_ARG_LIST );
592586
593587 if (zend_ast_is_placeholder_arg (arg )) {
594- zend_ast_fcc * fcc_ast = (zend_ast_fcc * )zend_ast_create_fcc ();
595- fcc_ast -> args = zend_ast_list_add (list , arg );
596- return (zend_ast * )fcc_ast ;
588+ return zend_ast_create_fcc (zend_ast_list_add (list , arg ));
597589 }
598590
599591 return zend_ast_list_add (list , arg );
0 commit comments