Lines Matching refs:expr_ast
3420 static bool zend_is_assign_to_self(zend_ast *var_ast, zend_ast *expr_ast) /* {{{ */ in zend_is_assign_to_self() argument
3422 if (expr_ast->kind != ZEND_AST_VAR || expr_ast->child[0]->kind != ZEND_AST_ZVAL) { in zend_is_assign_to_self()
3436 zend_string *name2 = zval_get_string(zend_ast_get_zval(expr_ast->child[0])); in zend_is_assign_to_self()
3446 znode *expr_node, zend_ast *expr_ast, zend_ast *var_ast) { in zend_compile_expr_with_potential_assign_to_self() argument
3447 if (zend_is_assign_to_self(var_ast, expr_ast) && !is_this_fetch(expr_ast)) { in zend_compile_expr_with_potential_assign_to_self()
3451 if (zend_try_compile_cv(&cv_node, expr_ast) == FAILURE) { in zend_compile_expr_with_potential_assign_to_self()
3452 zend_compile_simple_var_no_cv(expr_node, expr_ast, BP_VAR_R, 0); in zend_compile_expr_with_potential_assign_to_self()
3457 zend_compile_expr(expr_node, expr_ast); in zend_compile_expr_with_potential_assign_to_self()
3464 zend_ast *expr_ast = ast->child[1]; in zend_compile_assign() local
3481 zend_compile_expr(&expr_node, expr_ast); in zend_compile_assign()
3489 zend_compile_expr(&expr_node, expr_ast); in zend_compile_assign()
3501 zend_compile_expr_with_potential_assign_to_self(&expr_node, expr_ast, var_ast); in zend_compile_assign()
3514 zend_compile_expr(&expr_node, expr_ast); in zend_compile_assign()
3525 if (!zend_is_variable_or_call(expr_ast)) { in zend_compile_assign()
3529 zend_assert_not_short_circuited(expr_ast); in zend_compile_assign()
3532 zend_compile_var(&expr_node, expr_ast, BP_VAR_W, 1); in zend_compile_assign()
3537 if (expr_ast->kind == ZEND_AST_VAR) { in zend_compile_assign()
3541 if (zend_try_compile_cv(&cv_node, expr_ast) == FAILURE) { in zend_compile_assign()
3542 zend_compile_simple_var_no_cv(&expr_node, expr_ast, BP_VAR_R, 0); in zend_compile_assign()
3547 zend_compile_expr(&expr_node, expr_ast); in zend_compile_assign()
3633 zend_ast *expr_ast = ast->child[1]; in zend_compile_compound_assign() local
3648 zend_compile_expr(&expr_node, expr_ast); in zend_compile_compound_assign()
3656 zend_compile_expr(&expr_node, expr_ast); in zend_compile_compound_assign()
3671 zend_compile_expr_with_potential_assign_to_self(&expr_node, expr_ast, var_ast); in zend_compile_compound_assign()
3685 zend_compile_expr(&expr_node, expr_ast); in zend_compile_compound_assign()
5681 zend_ast *expr_ast = ast->child[0]; in zend_compile_return() local
5693 if (!expr_ast) { in zend_compile_return()
5696 } else if (by_ref && zend_is_variable(expr_ast)) { in zend_compile_return()
5697 zend_assert_not_short_circuited(expr_ast); in zend_compile_return()
5698 zend_compile_var(&expr_node, expr_ast, BP_VAR_W, 1); in zend_compile_return()
5700 zend_compile_expr(&expr_node, expr_ast); in zend_compile_return()
5717 expr_ast ? &expr_node : NULL, CG(active_op_array)->arg_info - 1, 0); in zend_compile_return()
5725 if (by_ref && expr_ast) { in zend_compile_return()
5726 if (zend_is_call(expr_ast)) { in zend_compile_return()
5728 } else if (!zend_is_variable(expr_ast) || zend_ast_is_short_circuited(expr_ast)) { in zend_compile_return()
5738 zend_ast *expr_ast = ast->child[0]; in zend_compile_echo() local
5741 zend_compile_expr(&expr_node, expr_ast); in zend_compile_echo()
5750 zend_ast *expr_ast = ast->child[0]; in zend_compile_throw() local
5753 zend_compile_expr(&expr_node, expr_ast); in zend_compile_throw()
5999 zend_ast *expr_ast = list->child[i]; in zend_compile_expr_list() local
6002 zend_compile_expr(result, expr_ast); in zend_compile_expr_list()
6043 zend_ast *expr_ast = ast->child[0]; in zend_compile_foreach() local
6048 bool is_variable = zend_is_variable(expr_ast) && zend_can_write_to_variable(expr_ast); in zend_compile_foreach()
6072 zend_compile_var(&expr_node, expr_ast, BP_VAR_W, 1); in zend_compile_foreach()
6074 zend_compile_expr(&expr_node, expr_ast); in zend_compile_foreach()
6078 zend_separate_if_call_and_write(&expr_node, expr_ast, BP_VAR_W); in zend_compile_foreach()
6243 zend_ast *expr_ast = ast->child[0]; in zend_compile_switch() local
6255 zend_compile_expr(&expr_node, expr_ast); in zend_compile_switch()
6421 zend_ast *expr_ast = ast->child[0]; in zend_compile_match() local
6427 zend_compile_expr(&expr_node, expr_ast); in zend_compile_match()
10023 zend_ast *expr_ast = ast->child[0]; in zend_compile_unary_op() local
10027 zend_compile_expr(&expr_node, expr_ast); in zend_compile_unary_op()
10042 zend_ast *expr_ast = ast->child[0]; in zend_compile_unary_pm() local
10047 zend_compile_expr(&expr_node, expr_ast); in zend_compile_unary_pm()
10175 zend_ast *expr_ast = ast->child[0]; in zend_compile_cast() local
10179 zend_compile_expr(&expr_node, expr_ast); in zend_compile_cast()
10279 zend_ast *expr_ast = ast->child[0]; in zend_compile_coalesce() local
10286 zend_compile_var(&expr_node, expr_ast, BP_VAR_IS, 0); in zend_compile_coalesce()
10415 zend_ast *expr_ast = ast->child[0]; in zend_compile_print() local
10418 zend_compile_expr(&expr_node, expr_ast); in zend_compile_print()
10465 zend_ast *expr_ast = ast->child[0]; in zend_compile_yield_from() local
10475 zend_compile_expr(&expr_node, expr_ast); in zend_compile_yield_from()
10514 zend_ast *expr_ast = ast->child[0]; in zend_compile_include_or_eval() local
10519 zend_compile_expr(&expr_node, expr_ast); in zend_compile_include_or_eval()
10610 zend_ast *expr_ast = ast->child[0]; in zend_compile_silence() local
10615 if (expr_ast->kind == ZEND_AST_VAR) { in zend_compile_silence()
10618 zend_compile_simple_var_no_cv(result, expr_ast, BP_VAR_R, 0 ); in zend_compile_silence()
10620 zend_compile_expr(result, expr_ast); in zend_compile_silence()
10629 zend_ast *expr_ast = ast->child[0]; in zend_compile_shell_exec() local
10636 args_ast = zend_ast_create_list(1, ZEND_AST_ARG_LIST, expr_ast); in zend_compile_shell_exec()