Lines Matching refs:expr_ast
2907 zend_bool zend_is_assign_to_self(zend_ast *var_ast, zend_ast *expr_ast) /* {{{ */ in zend_is_assign_to_self() argument
2909 if (expr_ast->kind != ZEND_AST_VAR || expr_ast->child[0]->kind != ZEND_AST_ZVAL) { in zend_is_assign_to_self()
2923 zend_string *name2 = zval_get_string(zend_ast_get_zval(expr_ast->child[0])); in zend_is_assign_to_self()
2966 zend_bool zend_list_has_assign_to_self(zend_ast *list_ast, zend_ast *expr_ast) /* {{{ */ in zend_list_has_assign_to_self() argument
2969 if (expr_ast->kind == ZEND_AST_VAR && expr_ast->child[0]->kind == ZEND_AST_ZVAL) { in zend_list_has_assign_to_self()
2970 zend_string *name = zval_get_string(zend_ast_get_zval(expr_ast->child[0])); in zend_list_has_assign_to_self()
2982 zend_ast *expr_ast = ast->child[1]; in zend_compile_assign() local
2999 zend_compile_expr(&expr_node, expr_ast); in zend_compile_assign()
3007 if (zend_is_assign_to_self(var_ast, expr_ast) in zend_compile_assign()
3008 && !is_this_fetch(expr_ast)) { in zend_compile_assign()
3010 zend_compile_simple_var_no_cv(&expr_node, expr_ast, BP_VAR_R, 0); in zend_compile_assign()
3012 zend_compile_expr(&expr_node, expr_ast); in zend_compile_assign()
3023 zend_compile_expr(&expr_node, expr_ast); in zend_compile_assign()
3031 if (zend_list_has_assign_to_self(var_ast, expr_ast)) { in zend_compile_assign()
3033 zend_compile_simple_var_no_cv(&expr_node, expr_ast, BP_VAR_R, 0); in zend_compile_assign()
3035 zend_compile_expr(&expr_node, expr_ast); in zend_compile_assign()
3100 zend_ast *expr_ast = ast->child[1]; in zend_compile_compound_assign() local
3114 zend_compile_expr(&expr_node, expr_ast); in zend_compile_compound_assign()
3121 zend_compile_expr(&expr_node, expr_ast); in zend_compile_compound_assign()
3132 zend_compile_expr(&expr_node, expr_ast); in zend_compile_compound_assign()
4182 zend_ast *expr_ast = ast->child[0]; in zend_compile_return() local
4194 if (!expr_ast) { in zend_compile_return()
4197 } else if (by_ref && zend_is_variable(expr_ast) && !zend_is_call(expr_ast)) { in zend_compile_return()
4198 zend_compile_var(&expr_node, expr_ast, BP_VAR_W); in zend_compile_return()
4200 zend_compile_expr(&expr_node, expr_ast); in zend_compile_return()
4217 expr_ast ? &expr_node : NULL, CG(active_op_array)->arg_info - 1, 0); in zend_compile_return()
4225 if (by_ref && expr_ast) { in zend_compile_return()
4226 if (zend_is_call(expr_ast)) { in zend_compile_return()
4228 } else if (!zend_is_variable(expr_ast)) { in zend_compile_return()
4238 zend_ast *expr_ast = ast->child[0]; in zend_compile_echo() local
4241 zend_compile_expr(&expr_node, expr_ast); in zend_compile_echo()
4250 zend_ast *expr_ast = ast->child[0]; in zend_compile_throw() local
4253 zend_compile_expr(&expr_node, expr_ast); in zend_compile_throw()
4459 zend_ast *expr_ast = list->child[i]; in zend_compile_expr_list() local
4462 zend_compile_expr(result, expr_ast); in zend_compile_expr_list()
4503 zend_ast *expr_ast = ast->child[0]; in zend_compile_foreach() local
4508 zend_bool is_variable = zend_is_variable(expr_ast) && !zend_is_call(expr_ast) in zend_compile_foreach()
4509 && zend_can_write_to_variable(expr_ast); in zend_compile_foreach()
4529 zend_compile_var(&expr_node, expr_ast, BP_VAR_W); in zend_compile_foreach()
4531 zend_compile_expr(&expr_node, expr_ast); in zend_compile_foreach()
4535 zend_separate_if_call_and_write(&expr_node, expr_ast, BP_VAR_W); in zend_compile_foreach()
4628 zend_ast *expr_ast = ast->child[0]; in zend_compile_switch() local
4638 zend_compile_expr(&expr_node, expr_ast); in zend_compile_switch()
6776 zend_ast *expr_ast = ast->child[0]; in zend_compile_unary_op() local
6780 zend_compile_expr(&expr_node, expr_ast); in zend_compile_unary_op()
6796 zend_ast *expr_ast = ast->child[0]; in zend_compile_unary_pm() local
6802 zend_compile_expr(&expr_node, expr_ast); in zend_compile_unary_pm()
6915 zend_ast *expr_ast = ast->child[0]; in zend_compile_cast() local
6919 zend_compile_expr(&expr_node, expr_ast); in zend_compile_cast()
6989 zend_ast *expr_ast = ast->child[0]; in zend_compile_coalesce() local
6996 zend_compile_var(&expr_node, expr_ast, BP_VAR_IS); in zend_compile_coalesce()
7014 zend_ast *expr_ast = ast->child[0]; in zend_compile_print() local
7017 zend_compile_expr(&expr_node, expr_ast); in zend_compile_print()
7029 zend_ast *expr_ast = ast->child[0]; in zend_compile_exit() local
7031 if (expr_ast) { in zend_compile_exit()
7033 zend_compile_expr(&expr_node, expr_ast); in zend_compile_exit()
7080 zend_ast *expr_ast = ast->child[0]; in zend_compile_yield_from() local
7090 zend_compile_expr(&expr_node, expr_ast); in zend_compile_yield_from()
7126 zend_ast *expr_ast = ast->child[0]; in zend_compile_include_or_eval() local
7131 zend_compile_expr(&expr_node, expr_ast); in zend_compile_include_or_eval()
7196 zend_ast *expr_ast = ast->child[0]; in zend_compile_silence() local
7203 if (expr_ast->kind == ZEND_AST_VAR) { in zend_compile_silence()
7206 zend_compile_simple_var_no_cv(result, expr_ast, BP_VAR_R, 0 ); in zend_compile_silence()
7208 zend_compile_expr(result, expr_ast); in zend_compile_silence()
7222 zend_ast *expr_ast = ast->child[0]; in zend_compile_shell_exec() local
7229 args_ast = zend_ast_create_list(1, ZEND_AST_ARG_LIST, expr_ast); in zend_compile_shell_exec()