ast 50 Zend/zend_ast.c zend_ast_znode *ast; ast 52 Zend/zend_ast.c ast = zend_ast_alloc(sizeof(zend_ast_znode)); ast 53 Zend/zend_ast.c ast->kind = ZEND_AST_ZNODE; ast 54 Zend/zend_ast.c ast->attr = 0; ast 55 Zend/zend_ast.c ast->lineno = CG(zend_lineno); ast 56 Zend/zend_ast.c ast->node = *node; ast 57 Zend/zend_ast.c return (zend_ast *) ast; ast 61 Zend/zend_ast.c zend_ast_zval *ast; ast 63 Zend/zend_ast.c ast = zend_ast_alloc(sizeof(zend_ast_zval)); ast 64 Zend/zend_ast.c ast->kind = ZEND_AST_ZVAL; ast 65 Zend/zend_ast.c ast->attr = attr; ast 66 Zend/zend_ast.c ZVAL_COPY_VALUE(&ast->val, zv); ast 67 Zend/zend_ast.c ast->val.u2.lineno = CG(zend_lineno); ast 68 Zend/zend_ast.c return (zend_ast *) ast; ast 75 Zend/zend_ast.c zend_ast_decl *ast; ast 77 Zend/zend_ast.c ast = zend_ast_alloc(sizeof(zend_ast_decl)); ast 78 Zend/zend_ast.c ast->kind = kind; ast 79 Zend/zend_ast.c ast->attr = 0; ast 80 Zend/zend_ast.c ast->start_lineno = start_lineno; ast 81 Zend/zend_ast.c ast->end_lineno = CG(zend_lineno); ast 82 Zend/zend_ast.c ast->flags = flags; ast 83 Zend/zend_ast.c ast->lex_pos = LANG_SCNG(yy_text); ast 84 Zend/zend_ast.c ast->doc_comment = doc_comment; ast 85 Zend/zend_ast.c ast->name = name; ast 86 Zend/zend_ast.c ast->child[0] = child0; ast 87 Zend/zend_ast.c ast->child[1] = child1; ast 88 Zend/zend_ast.c ast->child[2] = child2; ast 89 Zend/zend_ast.c ast->child[3] = child3; ast 91 Zend/zend_ast.c return (zend_ast *) ast; ast 96 Zend/zend_ast.c zend_ast *ast; ast 98 Zend/zend_ast.c ast = zend_ast_alloc(zend_ast_size(children)); ast 99 Zend/zend_ast.c ast->kind = kind; ast 100 Zend/zend_ast.c ast->attr = attr; ast 101 Zend/zend_ast.c ast->lineno = (uint32_t) -1; ast 104 Zend/zend_ast.c ast->child[i] = va_arg(va, zend_ast *); ast 105 Zend/zend_ast.c if (ast->child[i] != NULL) { ast 106 Zend/zend_ast.c uint32_t lineno = zend_ast_get_lineno(ast->child[i]); ast 107 Zend/zend_ast.c if (lineno < ast->lineno) { ast 108 Zend/zend_ast.c ast->lineno = lineno; ast 113 Zend/zend_ast.c if (ast->lineno == UINT_MAX) { ast 114 Zend/zend_ast.c ast->lineno = CG(zend_lineno); ast 117 Zend/zend_ast.c return ast; ast 122 Zend/zend_ast.c zend_ast *ast; ast 125 Zend/zend_ast.c ast = zend_ast_create_from_va_list(kind, attr, va); ast 128 Zend/zend_ast.c return ast; ast 133 Zend/zend_ast.c zend_ast *ast; ast 136 Zend/zend_ast.c ast = zend_ast_create_from_va_list(kind, 0, va); ast 139 Zend/zend_ast.c return ast; ast 143 Zend/zend_ast.c zend_ast *ast; ast 146 Zend/zend_ast.c ast = zend_ast_alloc(zend_ast_list_size(4)); ast 147 Zend/zend_ast.c list = (zend_ast_list *) ast; ast 158 Zend/zend_ast.c ast = zend_ast_list_add(ast, va_arg(va, zend_ast *)); ast 163 Zend/zend_ast.c return ast; ast 170 Zend/zend_ast.c ZEND_API zend_ast *zend_ast_list_add(zend_ast *ast, zend_ast *op) { ast 171 Zend/zend_ast.c zend_ast_list *list = zend_ast_get_list(ast); ast 212 Zend/zend_ast.c ZEND_API int zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *scope) ast 217 Zend/zend_ast.c switch (ast->kind) { ast 219 Zend/zend_ast.c if (UNEXPECTED(zend_ast_evaluate(&op1, ast->child[0], scope) != SUCCESS)) { ast 221 Zend/zend_ast.c } else if (UNEXPECTED(zend_ast_evaluate(&op2, ast->child[1], scope) != SUCCESS)) { ast 225 Zend/zend_ast.c binary_op_type op = get_binary_op(ast->attr); ast 233 Zend/zend_ast.c if (UNEXPECTED(zend_ast_evaluate(&op1, ast->child[0], scope) != SUCCESS)) { ast 235 Zend/zend_ast.c } else if (UNEXPECTED(zend_ast_evaluate(&op2, ast->child[1], scope) != SUCCESS)) { ast 240 Zend/zend_ast.c binary_op_type op = ast->kind == ZEND_AST_GREATER ast 248 Zend/zend_ast.c if (UNEXPECTED(zend_ast_evaluate(&op1, ast->child[0], scope) != SUCCESS)) { ast 251 Zend/zend_ast.c unary_op_type op = get_unary_op(ast->attr); ast 258 Zend/zend_ast.c zval *zv = zend_ast_get_zval(ast); ast 280 Zend/zend_ast.c if (UNEXPECTED(zend_ast_evaluate(&op1, ast->child[0], scope) != SUCCESS)) { ast 285 Zend/zend_ast.c if (UNEXPECTED(zend_ast_evaluate(&op2, ast->child[1], scope) != SUCCESS)) { ast 298 Zend/zend_ast.c if (UNEXPECTED(zend_ast_evaluate(&op1, ast->child[0], scope) != SUCCESS)) { ast 305 Zend/zend_ast.c if (UNEXPECTED(zend_ast_evaluate(&op2, ast->child[1], scope) != SUCCESS)) { ast 316 Zend/zend_ast.c if (UNEXPECTED(zend_ast_evaluate(&op1, ast->child[0], scope) != SUCCESS)) { ast 321 Zend/zend_ast.c if (!ast->child[1]) { ast 324 Zend/zend_ast.c if (UNEXPECTED(zend_ast_evaluate(result, ast->child[1], scope) != SUCCESS)) { ast 332 Zend/zend_ast.c if (UNEXPECTED(zend_ast_evaluate(result, ast->child[2], scope) != SUCCESS)) { ast 341 Zend/zend_ast.c if (UNEXPECTED(zend_ast_evaluate(&op2, ast->child[0], scope) != SUCCESS)) { ast 350 Zend/zend_ast.c if (UNEXPECTED(zend_ast_evaluate(&op2, ast->child[0], scope) != SUCCESS)) { ast 362 Zend/zend_ast.c zend_ast_list *list = zend_ast_get_list(ast); ast 388 Zend/zend_ast.c if (UNEXPECTED(zend_ast_evaluate(&op1, ast->child[0], scope) != SUCCESS)) { ast 390 Zend/zend_ast.c } else if (UNEXPECTED(zend_ast_evaluate(&op2, ast->child[1], scope) != SUCCESS)) { ast 414 Zend/zend_ast.c ZEND_API zend_ast *zend_ast_copy(zend_ast *ast) ast 416 Zend/zend_ast.c if (ast == NULL) { ast 418 Zend/zend_ast.c } else if (ast->kind == ZEND_AST_ZVAL) { ast 421 Zend/zend_ast.c new->attr = ast->attr; ast 422 Zend/zend_ast.c ZVAL_COPY(&new->val, zend_ast_get_zval(ast)); ast 424 Zend/zend_ast.c } else if (zend_ast_is_list(ast)) { ast 425 Zend/zend_ast.c zend_ast_list *list = zend_ast_get_list(ast); ast 436 Zend/zend_ast.c uint32_t i, children = zend_ast_get_num_children(ast); ast 438 Zend/zend_ast.c new->kind = ast->kind; ast 439 Zend/zend_ast.c new->attr = ast->attr; ast 441 Zend/zend_ast.c new->child[i] = zend_ast_copy(ast->child[i]); ast 447 Zend/zend_ast.c static void zend_ast_destroy_ex(zend_ast *ast, zend_bool free) { ast 448 Zend/zend_ast.c if (!ast) { ast 452 Zend/zend_ast.c switch (ast->kind) { ast 457 Zend/zend_ast.c zval_ptr_dtor_nogc(zend_ast_get_zval(ast)); ast 464 Zend/zend_ast.c zend_ast_decl *decl = (zend_ast_decl *) ast; ast 478 Zend/zend_ast.c if (zend_ast_is_list(ast)) { ast 479 Zend/zend_ast.c zend_ast_list *list = zend_ast_get_list(ast); ast 485 Zend/zend_ast.c uint32_t i, children = zend_ast_get_num_children(ast); ast 487 Zend/zend_ast.c zend_ast_destroy_ex(ast->child[i], free); ast 493 Zend/zend_ast.c efree(ast); ast 497 Zend/zend_ast.c ZEND_API void zend_ast_destroy(zend_ast *ast) { ast 498 Zend/zend_ast.c zend_ast_destroy_ex(ast, 0); ast 500 Zend/zend_ast.c ZEND_API void zend_ast_destroy_and_free(zend_ast *ast) { ast 501 Zend/zend_ast.c zend_ast_destroy_ex(ast, 1); ast 504 Zend/zend_ast.c ZEND_API void zend_ast_apply(zend_ast *ast, zend_ast_apply_func fn) { ast 505 Zend/zend_ast.c if (zend_ast_is_list(ast)) { ast 506 Zend/zend_ast.c zend_ast_list *list = zend_ast_get_list(ast); ast 512 Zend/zend_ast.c uint32_t i, children = zend_ast_get_num_children(ast); ast 514 Zend/zend_ast.c fn(&ast->child[i]); ast 554 Zend/zend_ast.c static void zend_ast_export_ex(smart_str *str, zend_ast *ast, int priority, int indent); ast 624 Zend/zend_ast.c static void zend_ast_export_name(smart_str *str, zend_ast *ast, int priority, int indent) ast 626 Zend/zend_ast.c if (ast->kind == ZEND_AST_ZVAL) { ast 627 Zend/zend_ast.c zval *zv = zend_ast_get_zval(ast); ast 634 Zend/zend_ast.c zend_ast_export_ex(str, ast, priority, indent); ast 637 Zend/zend_ast.c static void zend_ast_export_ns_name(smart_str *str, zend_ast *ast, int priority, int indent) ast 639 Zend/zend_ast.c if (ast->kind == ZEND_AST_ZVAL) { ast 640 Zend/zend_ast.c zval *zv = zend_ast_get_zval(ast); ast 643 Zend/zend_ast.c if (ast->attr == ZEND_NAME_FQ) { ast 645 Zend/zend_ast.c } else if (ast->attr == ZEND_NAME_RELATIVE) { ast 652 Zend/zend_ast.c zend_ast_export_ex(str, ast, priority, indent); ast 694 Zend/zend_ast.c static void zend_ast_export_var(smart_str *str, zend_ast *ast, int priority, int indent) ast 696 Zend/zend_ast.c if (ast->kind == ZEND_AST_ZVAL) { ast 697 Zend/zend_ast.c zval *zv = zend_ast_get_zval(ast); ast 703 Zend/zend_ast.c } else if (ast->kind == ZEND_AST_VAR) { ast 704 Zend/zend_ast.c zend_ast_export_ex(str, ast, 0, indent); ast 708 Zend/zend_ast.c zend_ast_export_name(str, ast, 0, indent); ast 728 Zend/zend_ast.c zend_ast *ast; ast 731 Zend/zend_ast.c ast = list->child[i]; ast 732 Zend/zend_ast.c if (ast->kind == ZEND_AST_ZVAL) { ast 733 Zend/zend_ast.c zval *zv = zend_ast_get_zval(ast); ast 737 Zend/zend_ast.c } else if (ast->kind == ZEND_AST_VAR && ast 738 Zend/zend_ast.c ast->child[0]->kind == ZEND_AST_ZVAL && ast 744 Zend/zend_ast.c zend_ast_export_ex(str, ast, 0, indent); ast 747 Zend/zend_ast.c zend_ast_export_ex(str, ast, 0, indent); ast 784 Zend/zend_ast.c static void zend_ast_export_stmt(smart_str *str, zend_ast *ast, int indent) ast 786 Zend/zend_ast.c if (!ast) { ast 790 Zend/zend_ast.c if (ast->kind == ZEND_AST_STMT_LIST || ast 791 Zend/zend_ast.c ast->kind == ZEND_AST_TRAIT_ADAPTATIONS) { ast 792 Zend/zend_ast.c zend_ast_list *list = (zend_ast_list*)ast; ast 796 Zend/zend_ast.c ast = list->child[i]; ast 797 Zend/zend_ast.c zend_ast_export_stmt(str, ast, indent); ast 802 Zend/zend_ast.c zend_ast_export_ex(str, ast, 0, indent); ast 803 Zend/zend_ast.c switch (ast->kind) { ast 829 Zend/zend_ast.c zend_ast *ast; ast 834 Zend/zend_ast.c ast = list->child[i]; ast 835 Zend/zend_ast.c ZEND_ASSERT(ast->kind == ZEND_AST_IF_ELEM); ast 836 Zend/zend_ast.c if (ast->child[0]) { ast 843 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], 0, indent); ast 845 Zend/zend_ast.c zend_ast_export_stmt(str, ast->child[1], indent + 1); ast 849 Zend/zend_ast.c if (ast->child[1]->kind == ZEND_AST_IF) { ast 850 Zend/zend_ast.c list = (zend_ast_list*)ast->child[1]; ast 854 Zend/zend_ast.c zend_ast_export_stmt(str, ast->child[1], indent + 1); ast 967 Zend/zend_ast.c static void zend_ast_export_ex(smart_str *str, zend_ast *ast, int priority, int indent) ast 974 Zend/zend_ast.c if (!ast) { ast 977 Zend/zend_ast.c switch (ast->kind) { ast 980 Zend/zend_ast.c zend_ast_export_zval(str, zend_ast_get_zval(ast), priority, indent); ast 991 Zend/zend_ast.c decl = (zend_ast_decl *) ast; ast 1012 Zend/zend_ast.c if (ast->kind != ZEND_AST_CLOSURE) { ast 1028 Zend/zend_ast.c if (ast->kind != ZEND_AST_CLOSURE) { ast 1036 Zend/zend_ast.c decl = (zend_ast_decl *) ast; ast 1070 Zend/zend_ast.c zend_ast_export_list(str, (zend_ast_list*)ast, 1, 20, indent); ast 1074 Zend/zend_ast.c zend_ast_export_list(str, (zend_ast_list*)ast, 1, 20, indent); ast 1079 Zend/zend_ast.c zend_ast_export_list(str, (zend_ast_list*)ast, 1, 20, indent); ast 1084 Zend/zend_ast.c zend_ast_export_encaps_list(str, '"', (zend_ast_list*)ast, indent); ast 1089 Zend/zend_ast.c zend_ast_export_stmt(str, ast, indent); ast 1092 Zend/zend_ast.c zend_ast_export_if_stmt(str, (zend_ast_list*)ast, indent); ast 1096 Zend/zend_ast.c zend_ast_export_list(str, (zend_ast_list*)ast, 0, 0, indent); ast 1100 Zend/zend_ast.c zend_ast_export_var_list(str, (zend_ast_list*)ast, indent); ast 1104 Zend/zend_ast.c if (ast->attr & ZEND_ACC_PUBLIC) { ast 1106 Zend/zend_ast.c } else if (ast->attr & ZEND_ACC_PROTECTED) { ast 1108 Zend/zend_ast.c } else if (ast->attr & ZEND_ACC_PRIVATE) { ast 1111 Zend/zend_ast.c if (ast->attr & ZEND_ACC_STATIC) { ast 1120 Zend/zend_ast.c zend_ast_export_name_list(str, (zend_ast_list*)ast, indent); ast 1124 Zend/zend_ast.c if (ast->attr == T_FUNCTION) { ast 1126 Zend/zend_ast.c } else if (ast->attr == T_CONST) { ast 1133 Zend/zend_ast.c switch (ast->attr) { ast 1146 Zend/zend_ast.c switch (ast->attr) { ast 1156 Zend/zend_ast.c zend_ast_export_var(str, ast->child[0], 0, indent); ast 1159 Zend/zend_ast.c zend_ast_export_ns_name(str, ast->child[0], 0, indent); ast 1163 Zend/zend_ast.c ast = ast->child[0]; ast 1168 Zend/zend_ast.c switch (ast->attr) { ast 1187 Zend/zend_ast.c if (ast->child[0]->kind == ZEND_AST_ENCAPS_LIST) { ast 1188 Zend/zend_ast.c zend_ast_export_encaps_list(str, '`', (zend_ast_list*)ast->child[0], indent); ast 1190 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], 0, indent); ast 1197 Zend/zend_ast.c if (ast->child[0]) { ast 1206 Zend/zend_ast.c switch (ast->attr) { ast 1216 Zend/zend_ast.c switch (ast->attr) { ast 1238 Zend/zend_ast.c zend_ast_export_name(str, ast->child[0], 0, indent); ast 1243 Zend/zend_ast.c ast = ast->child[0]; ast 1253 Zend/zend_ast.c zend_ast_export_name(str, ast->child[0], 0, indent); ast 1262 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], 260, indent); ast 1264 Zend/zend_ast.c if (ast->child[1]) { ast 1265 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[1], 0, indent); ast 1270 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], 0, indent); ast 1272 Zend/zend_ast.c zend_ast_export_var(str, ast->child[1], 0, indent); ast 1275 Zend/zend_ast.c zend_ast_export_ns_name(str, ast->child[0], 0, indent); ast 1277 Zend/zend_ast.c zend_ast_export_var(str, ast->child[1], 0, indent); ast 1280 Zend/zend_ast.c zend_ast_export_ns_name(str, ast->child[0], 0, indent); ast 1282 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[1], 0, indent); ast 1286 Zend/zend_ast.c zend_ast_export_ns_name(str, ast->child[0], 0, indent); ast 1288 Zend/zend_ast.c zend_ast_export_name(str, ast->child[1], 0, indent); ast 1293 Zend/zend_ast.c switch (ast->attr) { ast 1310 Zend/zend_ast.c switch (ast->attr) { ast 1339 Zend/zend_ast.c if (ast->child[1]) { ast 1340 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[1], 80, indent); ast 1343 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], 80, indent); ast 1347 Zend/zend_ast.c zend_ast_export_ns_name(str, ast->child[0], 0, indent); ast 1349 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[1], 0, indent); ast 1353 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], 0, indent); ast 1355 Zend/zend_ast.c zend_ast_export_ns_name(str, ast->child[1], 0, indent); ast 1360 Zend/zend_ast.c if (ast->child[0]) { ast 1361 Zend/zend_ast.c if (ast->child[1]) { ast 1362 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[1], 70, indent); ast 1365 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], 70, indent); ast 1374 Zend/zend_ast.c zend_ast_export_name(str, ast->child[0], 0, indent); ast 1378 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], 0, indent); ast 1380 Zend/zend_ast.c zend_ast_export_stmt(str, ast->child[1], indent + 1); ast 1386 Zend/zend_ast.c zend_ast_export_stmt(str, ast->child[0], indent + 1); ast 1389 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[1], 0, indent); ast 1394 Zend/zend_ast.c if (ast->child[0]) { ast 1396 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], 0, indent); ast 1398 Zend/zend_ast.c zend_ast_export_stmt(str, ast->child[1], indent + 1); ast 1401 Zend/zend_ast.c zend_ast_export_stmt(str, ast->child[1], indent + 1); ast 1408 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], 0, indent); ast 1410 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[1], 0, indent + 1); ast 1416 Zend/zend_ast.c if (ast->child[0]) { ast 1418 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], 0, indent); ast 1423 Zend/zend_ast.c zend_ast_export_stmt(str, ast->child[1], indent + 1); ast 1427 Zend/zend_ast.c ZEND_ASSERT(ast->child[0]->kind == ZEND_AST_CONST_DECL); ast 1428 Zend/zend_ast.c zend_ast_export_list(str, (zend_ast_list*)ast->child[0], 1, 0, indent); ast 1430 Zend/zend_ast.c if (ast->child[1]) { ast 1432 Zend/zend_ast.c zend_ast_export_stmt(str, ast->child[1], indent + 1); ast 1443 Zend/zend_ast.c zend_ast_export_name(str, ast->child[0], 0, indent); ast 1447 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], 0, indent); ast 1448 Zend/zend_ast.c if (ast->child[1]) { ast 1450 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[1], 0, indent + 1); ast 1458 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], 0, indent); ast 1460 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[1], 0, indent); ast 1463 Zend/zend_ast.c if (ast->child[0]) { ast 1464 Zend/zend_ast.c zend_ast_export_name(str, ast->child[0], 0, indent); ast 1467 Zend/zend_ast.c zend_ast_export_name(str, ast->child[1], 0, indent); ast 1471 Zend/zend_ast.c if (ast->child[0]) { ast 1473 Zend/zend_ast.c zend_ast_export_name(str, ast->child[0], 0, indent); ast 1475 Zend/zend_ast.c if (ast->child[1]) { ast 1477 Zend/zend_ast.c zend_ast_export_stmt(str, ast->child[1], indent + 1); ast 1486 Zend/zend_ast.c zend_ast_export_name(str, ast->child[0], 0, indent); ast 1487 Zend/zend_ast.c if (ast->attr & ZEND_ACC_PUBLIC) { ast 1489 Zend/zend_ast.c } else if (ast->attr & ZEND_ACC_PROTECTED) { ast 1491 Zend/zend_ast.c } else if (ast->attr & ZEND_ACC_PRIVATE) { ast 1493 Zend/zend_ast.c } else if (ast->child[1]) { ast 1496 Zend/zend_ast.c if (ast->child[1]) { ast 1498 Zend/zend_ast.c zend_ast_export_name(str, ast->child[1], 0, indent); ast 1504 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], 0, indent); ast 1506 Zend/zend_ast.c zend_ast_export_var(str, ast->child[1], 0, indent); ast 1508 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[2], 0, indent); ast 1512 Zend/zend_ast.c zend_ast_export_ns_name(str, ast->child[0], 0, indent); ast 1514 Zend/zend_ast.c zend_ast_export_var(str, ast->child[1], 0, indent); ast 1516 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[2], 0, indent); ast 1521 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], 100, indent); ast 1522 Zend/zend_ast.c if (ast->child[1]) { ast 1524 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[1], 101, indent); ast 1529 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[2], 101, indent); ast 1535 Zend/zend_ast.c zend_ast_export_stmt(str, ast->child[0], indent + 1); ast 1537 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[1], 0, indent); ast 1538 Zend/zend_ast.c if (ast->child[2]) { ast 1540 Zend/zend_ast.c zend_ast_export_stmt(str, ast->child[2], indent + 1); ast 1547 Zend/zend_ast.c zend_ast_export_ns_name(str, ast->child[0], 0, indent); ast 1549 Zend/zend_ast.c zend_ast_export_var(str, ast->child[1], 0, indent); ast 1551 Zend/zend_ast.c zend_ast_export_stmt(str, ast->child[2], indent + 1); ast 1555 Zend/zend_ast.c if (ast->child[0]) { ast 1556 Zend/zend_ast.c zend_ast_export_ns_name(str, ast->child[0], 0, indent); ast 1559 Zend/zend_ast.c if (ast->attr & ZEND_PARAM_REF) { ast 1562 Zend/zend_ast.c if (ast->attr & ZEND_PARAM_VARIADIC) { ast 1566 Zend/zend_ast.c zend_ast_export_name(str, ast->child[1], 0, indent); ast 1572 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], 0, indent); ast 1574 Zend/zend_ast.c if (ast->child[1]) { ast 1576 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[1], 0, indent); ast 1579 Zend/zend_ast.c if (ast->child[2]) { ast 1581 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[2], 0, indent); ast 1584 Zend/zend_ast.c zend_ast_export_stmt(str, ast->child[3], indent + 1); ast 1590 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], 0, indent); ast 1592 Zend/zend_ast.c if (ast->child[2]) { ast 1593 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[2], 0, indent); ast 1596 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[1], 0, indent); ast 1598 Zend/zend_ast.c zend_ast_export_stmt(str, ast->child[3], indent + 1); ast 1608 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], pl, indent); ast 1610 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[1], pr, indent); ast 1617 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], pl, indent); ast 1623 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], pl, indent); ast 1631 Zend/zend_ast.c zend_ast_export_ex(str, ast->child[0], 0, indent); ast 1637 Zend/zend_ast.c if (ast->child[0]) { ast 1639 Zend/zend_ast.c ast = ast->child[0]; ast 1649 Zend/zend_ast.c if (ast->child[p]) { ast 1651 Zend/zend_ast.c ast = ast->child[p]; ast 1657 Zend/zend_ast.c ZEND_API zend_string *zend_ast_export(const char *prefix, zend_ast *ast, const char *suffix) ast 1662 Zend/zend_ast.c zend_ast_export_ex(&str, ast, 0, 0); ast 190 Zend/zend_ast.h typedef void (*zend_ast_process_t)(zend_ast *ast); ast 206 Zend/zend_ast.h ZEND_API int zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *scope); ast 207 Zend/zend_ast.h ZEND_API zend_string *zend_ast_export(const char *prefix, zend_ast *ast, const char *suffix); ast 209 Zend/zend_ast.h ZEND_API zend_ast *zend_ast_copy(zend_ast *ast); ast 210 Zend/zend_ast.h ZEND_API void zend_ast_destroy(zend_ast *ast); ast 211 Zend/zend_ast.h ZEND_API void zend_ast_destroy_and_free(zend_ast *ast); ast 214 Zend/zend_ast.h ZEND_API void zend_ast_apply(zend_ast *ast, zend_ast_apply_func fn); ast 216 Zend/zend_ast.h static zend_always_inline zend_bool zend_ast_is_list(zend_ast *ast) { ast 217 Zend/zend_ast.h return (ast->kind >> ZEND_AST_IS_LIST_SHIFT) & 1; ast 219 Zend/zend_ast.h static zend_always_inline zend_ast_list *zend_ast_get_list(zend_ast *ast) { ast 220 Zend/zend_ast.h ZEND_ASSERT(zend_ast_is_list(ast)); ast 221 Zend/zend_ast.h return (zend_ast_list *) ast; ast 224 Zend/zend_ast.h static zend_always_inline zval *zend_ast_get_zval(zend_ast *ast) { ast 225 Zend/zend_ast.h ZEND_ASSERT(ast->kind == ZEND_AST_ZVAL); ast 226 Zend/zend_ast.h return &((zend_ast_zval *) ast)->val; ast 228 Zend/zend_ast.h static zend_always_inline zend_string *zend_ast_get_str(zend_ast *ast) { ast 229 Zend/zend_ast.h zval *zv = zend_ast_get_zval(ast); ast 234 Zend/zend_ast.h static zend_always_inline uint32_t zend_ast_get_num_children(zend_ast *ast) { ast 235 Zend/zend_ast.h ZEND_ASSERT(!zend_ast_is_list(ast)); ast 236 Zend/zend_ast.h return ast->kind >> ZEND_AST_NUM_CHILDREN_SHIFT; ast 238 Zend/zend_ast.h static zend_always_inline uint32_t zend_ast_get_lineno(zend_ast *ast) { ast 239 Zend/zend_ast.h if (ast->kind == ZEND_AST_ZVAL) { ast 240 Zend/zend_ast.h zval *zv = zend_ast_get_zval(ast); ast 243 Zend/zend_ast.h return ast->lineno; ast 874 Zend/zend_compile.c zend_string *zend_resolve_class_name_ast(zend_ast *ast) /* {{{ */ ast 876 Zend/zend_compile.c zval *class_name = zend_ast_get_zval(ast); ast 880 Zend/zend_compile.c return zend_resolve_class_name(Z_STR_P(class_name), ast->attr); ast 895 Zend/zend_compile.c static zend_bool zend_is_call(zend_ast *ast); ast 1596 Zend/zend_compile.c elem->ast = zend_ast_create_zval(&zv); ast 2052 Zend/zend_compile.c static inline zend_bool zend_is_variable(zend_ast *ast) /* {{{ */ ast 2054 Zend/zend_compile.c return ast->kind == ZEND_AST_VAR || ast->kind == ZEND_AST_DIM ast 2055 Zend/zend_compile.c || ast->kind == ZEND_AST_PROP || ast->kind == ZEND_AST_STATIC_PROP ast 2056 Zend/zend_compile.c || ast->kind == ZEND_AST_CALL || ast->kind == ZEND_AST_METHOD_CALL ast 2057 Zend/zend_compile.c || ast->kind == ZEND_AST_STATIC_CALL; ast 2061 Zend/zend_compile.c static inline zend_bool zend_is_call(zend_ast *ast) /* {{{ */ ast 2063 Zend/zend_compile.c return ast->kind == ZEND_AST_CALL ast 2064 Zend/zend_compile.c || ast->kind == ZEND_AST_METHOD_CALL ast 2065 Zend/zend_compile.c || ast->kind == ZEND_AST_STATIC_CALL; ast 2069 Zend/zend_compile.c static inline zend_bool zend_is_unticked_stmt(zend_ast *ast) /* {{{ */ ast 2071 Zend/zend_compile.c return ast->kind == ZEND_AST_STMT_LIST || ast->kind == ZEND_AST_LABEL ast 2072 Zend/zend_compile.c || ast->kind == ZEND_AST_PROP_DECL || ast->kind == ZEND_AST_CLASS_CONST_DECL ast 2073 Zend/zend_compile.c || ast->kind == ZEND_AST_USE_TRAIT || ast->kind == ZEND_AST_METHOD; ast 2077 Zend/zend_compile.c static inline zend_bool zend_can_write_to_variable(zend_ast *ast) /* {{{ */ ast 2079 Zend/zend_compile.c while (ast->kind == ZEND_AST_DIM || ast->kind == ZEND_AST_PROP) { ast 2080 Zend/zend_compile.c ast = ast->child[0]; ast 2083 Zend/zend_compile.c return zend_is_variable(ast); ast 2161 Zend/zend_compile.c static int zend_try_compile_cv(znode *result, zend_ast *ast) /* {{{ */ ast 2163 Zend/zend_compile.c zend_ast *name_ast = ast->child[0]; ast 2188 Zend/zend_compile.c static zend_op *zend_compile_simple_var_no_cv(znode *result, zend_ast *ast, uint32_t type, int delayed) /* {{{ */ ast 2190 Zend/zend_compile.c zend_ast *name_ast = ast->child[0]; ast 2212 Zend/zend_compile.c if (ast->kind != ZEND_AST_ZVAL ast 2224 Zend/zend_compile.c static void zend_compile_simple_var(znode *result, zend_ast *ast, uint32_t type, int delayed) /* {{{ */ ast 2226 Zend/zend_compile.c if (zend_try_compile_cv(result, ast) == FAILURE) { ast 2227 Zend/zend_compile.c zend_op *opline = zend_compile_simple_var_no_cv(result, ast, type, delayed); ast 2233 Zend/zend_compile.c static void zend_separate_if_call_and_write(znode *node, zend_ast *ast, uint32_t type) /* {{{ */ ast 2235 Zend/zend_compile.c if (type != BP_VAR_R && type != BP_VAR_IS && zend_is_call(ast)) { ast 2247 Zend/zend_compile.c void zend_delayed_compile_var(znode *result, zend_ast *ast, uint32_t type); ast 2248 Zend/zend_compile.c void zend_compile_assign(znode *result, zend_ast *ast); ast 2249 Zend/zend_compile.c static void zend_compile_list_assign(znode *result, zend_ast *ast, znode *expr_node); ast 2265 Zend/zend_compile.c static zend_op *zend_delayed_compile_dim(znode *result, zend_ast *ast, uint32_t type) /* {{{ */ ast 2267 Zend/zend_compile.c zend_ast *var_ast = ast->child[0]; ast 2268 Zend/zend_compile.c zend_ast *dim_ast = ast->child[1]; ast 2292 Zend/zend_compile.c static inline zend_op *zend_compile_dim_common(znode *result, zend_ast *ast, uint32_t type) /* {{{ */ ast 2295 Zend/zend_compile.c zend_delayed_compile_dim(result, ast, type); ast 2300 Zend/zend_compile.c void zend_compile_dim(znode *result, zend_ast *ast, uint32_t type) /* {{{ */ ast 2302 Zend/zend_compile.c zend_op *opline = zend_compile_dim_common(result, ast, type); ast 2307 Zend/zend_compile.c static zend_bool is_this_fetch(zend_ast *ast) /* {{{ */ ast 2309 Zend/zend_compile.c if (ast->kind == ZEND_AST_VAR && ast->child[0]->kind == ZEND_AST_ZVAL) { ast 2310 Zend/zend_compile.c zval *name = zend_ast_get_zval(ast->child[0]); ast 2318 Zend/zend_compile.c static zend_op *zend_delayed_compile_prop(znode *result, zend_ast *ast, uint32_t type) /* {{{ */ ast 2320 Zend/zend_compile.c zend_ast *obj_ast = ast->child[0]; ast 2321 Zend/zend_compile.c zend_ast *prop_ast = ast->child[1]; ast 2344 Zend/zend_compile.c static zend_op *zend_compile_prop_common(znode *result, zend_ast *ast, uint32_t type) /* {{{ */ ast 2347 Zend/zend_compile.c zend_delayed_compile_prop(result, ast, type); ast 2352 Zend/zend_compile.c void zend_compile_prop(znode *result, zend_ast *ast, uint32_t type) /* {{{ */ ast 2354 Zend/zend_compile.c zend_op *opline = zend_compile_prop_common(result, ast, type); ast 2359 Zend/zend_compile.c zend_op *zend_compile_static_prop_common(znode *result, zend_ast *ast, uint32_t type, int delayed) /* {{{ */ ast 2361 Zend/zend_compile.c zend_ast *class_ast = ast->child[0]; ast 2362 Zend/zend_compile.c zend_ast *prop_ast = ast->child[1]; ast 2398 Zend/zend_compile.c void zend_compile_static_prop(znode *result, zend_ast *ast, uint32_t type, int delayed) /* {{{ */ ast 2400 Zend/zend_compile.c zend_op *opline = zend_compile_static_prop_common(result, ast, type, delayed); ast 2405 Zend/zend_compile.c static void zend_compile_list_assign(znode *result, zend_ast *ast, znode *expr_node) /* {{{ */ ast 2407 Zend/zend_compile.c zend_ast_list *list = zend_ast_get_list(ast); ast 2439 Zend/zend_compile.c static void zend_ensure_writable_variable(const zend_ast *ast) /* {{{ */ ast 2441 Zend/zend_compile.c if (ast->kind == ZEND_AST_CALL) { ast 2444 Zend/zend_compile.c if (ast->kind == ZEND_AST_METHOD_CALL || ast->kind == ZEND_AST_STATIC_CALL) { ast 2520 Zend/zend_compile.c void zend_compile_assign(znode *result, zend_ast *ast) /* {{{ */ ast 2522 Zend/zend_compile.c zend_ast *var_ast = ast->child[0]; ast 2523 Zend/zend_compile.c zend_ast *expr_ast = ast->child[1]; ast 2585 Zend/zend_compile.c void zend_compile_assign_ref(znode *result, zend_ast *ast) /* {{{ */ ast 2587 Zend/zend_compile.c zend_ast *target_ast = ast->child[0]; ast 2588 Zend/zend_compile.c zend_ast *source_ast = ast->child[1]; ast 2627 Zend/zend_compile.c void zend_compile_compound_assign(znode *result, zend_ast *ast) /* {{{ */ ast 2629 Zend/zend_compile.c zend_ast *var_ast = ast->child[0]; ast 2630 Zend/zend_compile.c zend_ast *expr_ast = ast->child[1]; ast 2631 Zend/zend_compile.c uint32_t opcode = ast->attr; ast 2675 Zend/zend_compile.c uint32_t zend_compile_args(zend_ast *ast, zend_function *fbc) /* {{{ */ ast 2678 Zend/zend_compile.c zend_ast_list *args = zend_ast_get_list(ast); ast 3086 Zend/zend_compile.c static void zend_compile_assert_side_effects(zend_ast *ast) /* {{{ */ ast 3089 Zend/zend_compile.c int children = zend_ast_is_list(ast) ? zend_ast_get_list(ast)->children : zend_ast_get_num_children(ast); ast 3092 Zend/zend_compile.c zend_ast *child = (zend_ast_is_list(ast) ? zend_ast_get_list(ast)->child : ast->child)[i]; ast 3096 Zend/zend_compile.c } else if (ast->kind >= ZEND_AST_IS_LIST_SHIFT) { ast 3196 Zend/zend_compile.c void zend_compile_call(znode *result, zend_ast *ast, uint32_t type) /* {{{ */ ast 3198 Zend/zend_compile.c zend_ast *name_ast = ast->child[0]; ast 3199 Zend/zend_compile.c zend_ast *args_ast = ast->child[1]; ast 3258 Zend/zend_compile.c void zend_compile_method_call(znode *result, zend_ast *ast, uint32_t type) /* {{{ */ ast 3260 Zend/zend_compile.c zend_ast *obj_ast = ast->child[0]; ast 3261 Zend/zend_compile.c zend_ast *method_ast = ast->child[1]; ast 3262 Zend/zend_compile.c zend_ast *args_ast = ast->child[2]; ast 3299 Zend/zend_compile.c void zend_compile_static_call(znode *result, zend_ast *ast, uint32_t type) /* {{{ */ ast 3301 Zend/zend_compile.c zend_ast *class_ast = ast->child[0]; ast 3302 Zend/zend_compile.c zend_ast *method_ast = ast->child[1]; ast 3303 Zend/zend_compile.c zend_ast *args_ast = ast->child[2]; ast 3352 Zend/zend_compile.c void zend_compile_class_decl(zend_ast *ast); ast 3354 Zend/zend_compile.c void zend_compile_new(znode *result, zend_ast *ast) /* {{{ */ ast 3356 Zend/zend_compile.c zend_ast *class_ast = ast->child[0]; ast 3357 Zend/zend_compile.c zend_ast *args_ast = ast->child[1]; ast 3401 Zend/zend_compile.c void zend_compile_clone(znode *result, zend_ast *ast) /* {{{ */ ast 3403 Zend/zend_compile.c zend_ast *obj_ast = ast->child[0]; ast 3412 Zend/zend_compile.c void zend_compile_global_var(zend_ast *ast) /* {{{ */ ast 3414 Zend/zend_compile.c zend_ast *var_ast = ast->child[0]; ast 3474 Zend/zend_compile.c void zend_compile_static_var(zend_ast *ast) /* {{{ */ ast 3476 Zend/zend_compile.c zend_ast *var_ast = ast->child[0]; ast 3477 Zend/zend_compile.c zend_ast *value_ast = ast->child[1]; ast 3490 Zend/zend_compile.c void zend_compile_unset(zend_ast *ast) /* {{{ */ ast 3492 Zend/zend_compile.c zend_ast *var_ast = ast->child[0]; ast 3576 Zend/zend_compile.c void zend_compile_return(zend_ast *ast) /* {{{ */ ast 3578 Zend/zend_compile.c zend_ast *expr_ast = ast->child[0]; ast 3619 Zend/zend_compile.c void zend_compile_echo(zend_ast *ast) /* {{{ */ ast 3622 Zend/zend_compile.c zend_ast *expr_ast = ast->child[0]; ast 3632 Zend/zend_compile.c void zend_compile_throw(zend_ast *ast) /* {{{ */ ast 3634 Zend/zend_compile.c zend_ast *expr_ast = ast->child[0]; ast 3643 Zend/zend_compile.c void zend_compile_break_continue(zend_ast *ast) /* {{{ */ ast 3645 Zend/zend_compile.c zend_ast *depth_ast = ast->child[0]; ast 3650 Zend/zend_compile.c ZEND_ASSERT(ast->kind == ZEND_AST_BREAK || ast->kind == ZEND_AST_CONTINUE); ast 3656 Zend/zend_compile.c "is no longer supported", ast->kind == ZEND_AST_BREAK ? "break" : "continue"); ast 3662 Zend/zend_compile.c ast->kind == ZEND_AST_BREAK ? "break" : "continue"); ast 3672 Zend/zend_compile.c ast->kind == ZEND_AST_BREAK ? "break" : "continue"); ast 3676 Zend/zend_compile.c ast->kind == ZEND_AST_BREAK ? "break" : "continue", ast 3680 Zend/zend_compile.c opline = zend_emit_op(NULL, ast->kind == ZEND_AST_BREAK ? ZEND_BRK : ZEND_CONT, NULL, NULL); ast 3747 Zend/zend_compile.c void zend_compile_goto(zend_ast *ast) /* {{{ */ ast 3749 Zend/zend_compile.c zend_ast *label_ast = ast->child[0]; ast 3764 Zend/zend_compile.c void zend_compile_label(zend_ast *ast) /* {{{ */ ast 3766 Zend/zend_compile.c zend_string *label = zend_ast_get_str(ast->child[0]); ast 3783 Zend/zend_compile.c void zend_compile_while(zend_ast *ast) /* {{{ */ ast 3785 Zend/zend_compile.c zend_ast *cond_ast = ast->child[0]; ast 3786 Zend/zend_compile.c zend_ast *stmt_ast = ast->child[1]; ast 3807 Zend/zend_compile.c void zend_compile_do_while(zend_ast *ast) /* {{{ */ ast 3809 Zend/zend_compile.c zend_ast *stmt_ast = ast->child[0]; ast 3810 Zend/zend_compile.c zend_ast *cond_ast = ast->child[1]; ast 3829 Zend/zend_compile.c void zend_compile_expr_list(znode *result, zend_ast *ast) /* {{{ */ ast 3837 Zend/zend_compile.c if (!ast) { ast 3841 Zend/zend_compile.c list = zend_ast_get_list(ast); ast 3851 Zend/zend_compile.c void zend_compile_for(zend_ast *ast) /* {{{ */ ast 3853 Zend/zend_compile.c zend_ast *init_ast = ast->child[0]; ast 3854 Zend/zend_compile.c zend_ast *cond_ast = ast->child[1]; ast 3855 Zend/zend_compile.c zend_ast *loop_ast = ast->child[2]; ast 3856 Zend/zend_compile.c zend_ast *stmt_ast = ast->child[3]; ast 3885 Zend/zend_compile.c void zend_compile_foreach(zend_ast *ast) /* {{{ */ ast 3887 Zend/zend_compile.c zend_ast *expr_ast = ast->child[0]; ast 3888 Zend/zend_compile.c zend_ast *value_ast = ast->child[1]; ast 3889 Zend/zend_compile.c zend_ast *key_ast = ast->child[2]; ast 3890 Zend/zend_compile.c zend_ast *stmt_ast = ast->child[3]; ast 3966 Zend/zend_compile.c void zend_compile_if(zend_ast *ast) /* {{{ */ ast 3968 Zend/zend_compile.c zend_ast_list *list = zend_ast_get_list(ast); ast 4008 Zend/zend_compile.c void zend_compile_switch(zend_ast *ast) /* {{{ */ ast 4010 Zend/zend_compile.c zend_ast *expr_ast = ast->child[0]; ast 4011 Zend/zend_compile.c zend_ast_list *cases = zend_ast_get_list(ast->child[1]); ast 4094 Zend/zend_compile.c void zend_compile_try(zend_ast *ast) /* {{{ */ ast 4096 Zend/zend_compile.c zend_ast *try_ast = ast->child[0]; ast 4097 Zend/zend_compile.c zend_ast_list *catches = zend_ast_get_list(ast->child[1]); ast 4098 Zend/zend_compile.c zend_ast *finally_ast = ast->child[2]; ast 4223 Zend/zend_compile.c void zend_handle_encoding_declaration(zend_ast *ast) /* {{{ */ ast 4225 Zend/zend_compile.c zend_ast_list *declares = zend_ast_get_list(ast); ast 4271 Zend/zend_compile.c static int zend_declare_is_first_statement(zend_ast *ast) /* {{{ */ ast 4274 Zend/zend_compile.c zend_ast_list *file_ast = zend_ast_get_list(CG(ast)); ast 4278 Zend/zend_compile.c if (file_ast->child[i] == ast) { ast 4293 Zend/zend_compile.c void zend_compile_declare(zend_ast *ast) /* {{{ */ ast 4295 Zend/zend_compile.c zend_ast_list *declares = zend_ast_get_list(ast->child[0]); ast 4296 Zend/zend_compile.c zend_ast *stmt_ast = ast->child[1]; ast 4313 Zend/zend_compile.c if (FAILURE == zend_declare_is_first_statement(ast)) { ast 4320 Zend/zend_compile.c if (FAILURE == zend_declare_is_first_statement(ast)) { ast 4325 Zend/zend_compile.c if (ast->child[1] != NULL) { ast 4353 Zend/zend_compile.c void zend_compile_stmt_list(zend_ast *ast) /* {{{ */ ast 4355 Zend/zend_compile.c zend_ast_list *list = zend_ast_get_list(ast); ast 4388 Zend/zend_compile.c static void zend_compile_typename(zend_ast *ast, zend_arg_info *arg_info) /* {{{ */ ast 4390 Zend/zend_compile.c if (ast->kind == ZEND_AST_TYPE) { ast 4391 Zend/zend_compile.c arg_info->type_hint = ast->attr; ast 4393 Zend/zend_compile.c zend_string *class_name = zend_ast_get_str(ast); ast 4397 Zend/zend_compile.c if (ast->attr != ZEND_NAME_NOT_FQ) { ast 4404 Zend/zend_compile.c uint32_t fetch_type = zend_get_class_fetch_type_ast(ast); ast 4406 Zend/zend_compile.c class_name = zend_resolve_class_name_ast(ast); ast 4420 Zend/zend_compile.c void zend_compile_params(zend_ast *ast, zend_ast *return_type_ast) /* {{{ */ ast 4422 Zend/zend_compile.c zend_ast_list *list = zend_ast_get_list(ast); ast 4605 Zend/zend_compile.c void zend_compile_closure_uses(zend_ast *ast) /* {{{ */ ast 4607 Zend/zend_compile.c zend_ast_list *list = zend_ast_get_list(ast); ast 4845 Zend/zend_compile.c void zend_compile_func_decl(znode *result, zend_ast *ast) /* {{{ */ ast 4847 Zend/zend_compile.c zend_ast_decl *decl = (zend_ast_decl *) ast; ast 4922 Zend/zend_compile.c void zend_compile_prop_decl(zend_ast *ast) /* {{{ */ ast 4924 Zend/zend_compile.c zend_ast_list *list = zend_ast_get_list(ast); ast 4974 Zend/zend_compile.c void zend_compile_class_const_decl(zend_ast *ast) /* {{{ */ ast 4976 Zend/zend_compile.c zend_ast_list *list = zend_ast_get_list(ast); ast 5012 Zend/zend_compile.c static zend_trait_method_reference *zend_compile_method_ref(zend_ast *ast) /* {{{ */ ast 5014 Zend/zend_compile.c zend_ast *class_ast = ast->child[0]; ast 5015 Zend/zend_compile.c zend_ast *method_ast = ast->child[1]; ast 5031 Zend/zend_compile.c static zend_string **zend_compile_name_list(zend_ast *ast) /* {{{ */ ast 5033 Zend/zend_compile.c zend_ast_list *list = zend_ast_get_list(ast); ast 5048 Zend/zend_compile.c static void zend_compile_trait_precedence(zend_ast *ast) /* {{{ */ ast 5050 Zend/zend_compile.c zend_ast *method_ref_ast = ast->child[0]; ast 5051 Zend/zend_compile.c zend_ast *insteadof_ast = ast->child[1]; ast 5062 Zend/zend_compile.c static void zend_compile_trait_alias(zend_ast *ast) /* {{{ */ ast 5064 Zend/zend_compile.c zend_ast *method_ref_ast = ast->child[0]; ast 5065 Zend/zend_compile.c zend_ast *alias_ast = ast->child[1]; ast 5066 Zend/zend_compile.c uint32_t modifiers = ast->attr; ast 5092 Zend/zend_compile.c void zend_compile_use_trait(zend_ast *ast) /* {{{ */ ast 5094 Zend/zend_compile.c zend_ast_list *traits = zend_ast_get_list(ast->child[0]); ast 5095 Zend/zend_compile.c zend_ast_list *adaptations = ast->child[1] ? zend_ast_get_list(ast->child[1]) : NULL; ast 5147 Zend/zend_compile.c void zend_compile_implements(znode *class_node, zend_ast *ast) /* {{{ */ ast 5149 Zend/zend_compile.c zend_ast_list *list = zend_ast_get_list(ast); ast 5186 Zend/zend_compile.c void zend_compile_class_decl(zend_ast *ast) /* {{{ */ ast 5188 Zend/zend_compile.c zend_ast_decl *decl = (zend_ast_decl *) ast; ast 5308 Zend/zend_compile.c CG(zend_lineno) = ast->lineno; ast 5440 Zend/zend_compile.c void zend_compile_use(zend_ast *ast) /* {{{ */ ast 5442 Zend/zend_compile.c zend_ast_list *list = zend_ast_get_list(ast); ast 5445 Zend/zend_compile.c uint32_t type = ast->attr; ast 5547 Zend/zend_compile.c void zend_compile_group_use(zend_ast *ast) /* {{{ */ ast 5550 Zend/zend_compile.c zend_string *ns = zend_ast_get_str(ast->child[0]); ast 5551 Zend/zend_compile.c zend_ast_list *list = zend_ast_get_list(ast->child[1]); ast 5561 Zend/zend_compile.c inline_use->attr = ast->attr ? ast->attr : use->attr; ast 5568 Zend/zend_compile.c void zend_compile_const_decl(zend_ast *ast) /* {{{ */ ast 5570 Zend/zend_compile.c zend_ast_list *list = zend_ast_get_list(ast); ast 5611 Zend/zend_compile.c void zend_compile_namespace(zend_ast *ast) /* {{{ */ ast 5613 Zend/zend_compile.c zend_ast *name_ast = ast->child[0]; ast 5614 Zend/zend_compile.c zend_ast *stmt_ast = ast->child[1]; ast 5683 Zend/zend_compile.c void zend_compile_halt_compiler(zend_ast *ast) /* {{{ */ ast 5685 Zend/zend_compile.c zend_ast *offset_ast = ast->child[0]; ast 5705 Zend/zend_compile.c static zend_bool zend_try_ct_eval_magic_const(zval *zv, zend_ast *ast) /* {{{ */ ast 5710 Zend/zend_compile.c switch (ast->attr) { ast 5712 Zend/zend_compile.c ZVAL_LONG(zv, ast->lineno); ast 5832 Zend/zend_compile.c static zend_bool zend_try_ct_eval_array(zval *result, zend_ast *ast) /* {{{ */ ast 5834 Zend/zend_compile.c zend_ast_list *list = zend_ast_get_list(ast); ast 5900 Zend/zend_compile.c void zend_compile_binary_op(znode *result, zend_ast *ast) /* {{{ */ ast 5902 Zend/zend_compile.c zend_ast *left_ast = ast->child[0]; ast 5903 Zend/zend_compile.c zend_ast *right_ast = ast->child[1]; ast 5904 Zend/zend_compile.c uint32_t opcode = ast->attr; ast 5961 Zend/zend_compile.c void zend_compile_greater(znode *result, zend_ast *ast) /* {{{ */ ast 5963 Zend/zend_compile.c zend_ast *left_ast = ast->child[0]; ast 5964 Zend/zend_compile.c zend_ast *right_ast = ast->child[1]; ast 5967 Zend/zend_compile.c ZEND_ASSERT(ast->kind == ZEND_AST_GREATER || ast->kind == ZEND_AST_GREATER_EQUAL); ast 5974 Zend/zend_compile.c zend_ct_eval_greater(&result->u.constant, ast->kind, ast 5982 Zend/zend_compile.c ast->kind == ZEND_AST_GREATER ? ZEND_IS_SMALLER : ZEND_IS_SMALLER_OR_EQUAL, ast 5987 Zend/zend_compile.c void zend_compile_unary_op(znode *result, zend_ast *ast) /* {{{ */ ast 5989 Zend/zend_compile.c zend_ast *expr_ast = ast->child[0]; ast 5990 Zend/zend_compile.c uint32_t opcode = ast->attr; ast 6007 Zend/zend_compile.c void zend_compile_unary_pm(znode *result, zend_ast *ast) /* {{{ */ ast 6009 Zend/zend_compile.c zend_ast *expr_ast = ast->child[0]; ast 6013 Zend/zend_compile.c ZEND_ASSERT(ast->kind == ZEND_AST_UNARY_PLUS || ast->kind == ZEND_AST_UNARY_MINUS); ast 6019 Zend/zend_compile.c zend_ct_eval_unary_pm(&result->u.constant, ast->kind, &expr_node.u.constant); ast 6025 Zend/zend_compile.c ZVAL_LONG(&lefthand_node.u.constant, (ast->kind == ZEND_AST_UNARY_PLUS) ? 1 : -1); ast 6030 Zend/zend_compile.c void zend_compile_short_circuiting(znode *result, zend_ast *ast) /* {{{ */ ast 6032 Zend/zend_compile.c zend_ast *left_ast = ast->child[0]; ast 6033 Zend/zend_compile.c zend_ast *right_ast = ast->child[1]; ast 6039 Zend/zend_compile.c ZEND_ASSERT(ast->kind == ZEND_AST_AND || ast->kind == ZEND_AST_OR); ast 6044 Zend/zend_compile.c if ((ast->kind == ZEND_AST_AND && !zend_is_true(&left_node.u.constant)) ast 6045 Zend/zend_compile.c || (ast->kind == ZEND_AST_OR && zend_is_true(&left_node.u.constant))) { ast 6066 Zend/zend_compile.c opline_jmpz = zend_emit_op(NULL, ast->kind == ZEND_AST_AND ? ZEND_JMPZ_EX : ZEND_JMPNZ_EX, ast 6086 Zend/zend_compile.c void zend_compile_post_incdec(znode *result, zend_ast *ast) /* {{{ */ ast 6088 Zend/zend_compile.c zend_ast *var_ast = ast->child[0]; ast 6089 Zend/zend_compile.c ZEND_ASSERT(ast->kind == ZEND_AST_POST_INC || ast->kind == ZEND_AST_POST_DEC); ast 6095 Zend/zend_compile.c opline->opcode = ast->kind == ZEND_AST_POST_INC ? ZEND_POST_INC_OBJ : ZEND_POST_DEC_OBJ; ast 6100 Zend/zend_compile.c zend_emit_op_tmp(result, ast->kind == ZEND_AST_POST_INC ? ZEND_POST_INC : ZEND_POST_DEC, ast 6106 Zend/zend_compile.c void zend_compile_pre_incdec(znode *result, zend_ast *ast) /* {{{ */ ast 6108 Zend/zend_compile.c zend_ast *var_ast = ast->child[0]; ast 6109 Zend/zend_compile.c ZEND_ASSERT(ast->kind == ZEND_AST_PRE_INC || ast->kind == ZEND_AST_PRE_DEC); ast 6115 Zend/zend_compile.c opline->opcode = ast->kind == ZEND_AST_PRE_INC ? ZEND_PRE_INC_OBJ : ZEND_PRE_DEC_OBJ; ast 6119 Zend/zend_compile.c zend_emit_op(result, ast->kind == ZEND_AST_PRE_INC ? ZEND_PRE_INC : ZEND_PRE_DEC, ast 6125 Zend/zend_compile.c void zend_compile_cast(znode *result, zend_ast *ast) /* {{{ */ ast 6127 Zend/zend_compile.c zend_ast *expr_ast = ast->child[0]; ast 6134 Zend/zend_compile.c opline->extended_value = ast->attr; ast 6138 Zend/zend_compile.c static void zend_compile_shorthand_conditional(znode *result, zend_ast *ast) /* {{{ */ ast 6140 Zend/zend_compile.c zend_ast *cond_ast = ast->child[0]; ast 6141 Zend/zend_compile.c zend_ast *false_ast = ast->child[2]; ast 6147 Zend/zend_compile.c ZEND_ASSERT(ast->child[1] == NULL); ast 6163 Zend/zend_compile.c void zend_compile_conditional(znode *result, zend_ast *ast) /* {{{ */ ast 6165 Zend/zend_compile.c zend_ast *cond_ast = ast->child[0]; ast 6166 Zend/zend_compile.c zend_ast *true_ast = ast->child[1]; ast 6167 Zend/zend_compile.c zend_ast *false_ast = ast->child[2]; ast 6174 Zend/zend_compile.c zend_compile_shorthand_conditional(result, ast); ast 6199 Zend/zend_compile.c void zend_compile_coalesce(znode *result, zend_ast *ast) /* {{{ */ ast 6201 Zend/zend_compile.c zend_ast *expr_ast = ast->child[0]; ast 6202 Zend/zend_compile.c zend_ast *default_ast = ast->child[1]; ast 6223 Zend/zend_compile.c void zend_compile_print(znode *result, zend_ast *ast) /* {{{ */ ast 6226 Zend/zend_compile.c zend_ast *expr_ast = ast->child[0]; ast 6239 Zend/zend_compile.c void zend_compile_exit(znode *result, zend_ast *ast) /* {{{ */ ast 6241 Zend/zend_compile.c zend_ast *expr_ast = ast->child[0]; ast 6256 Zend/zend_compile.c void zend_compile_yield(znode *result, zend_ast *ast) /* {{{ */ ast 6258 Zend/zend_compile.c zend_ast *value_ast = ast->child[0]; ast 6259 Zend/zend_compile.c zend_ast *key_ast = ast->child[1]; ast 6290 Zend/zend_compile.c void zend_compile_yield_from(znode *result, zend_ast *ast) /* {{{ */ ast 6292 Zend/zend_compile.c zend_ast *expr_ast = ast->child[0]; ast 6307 Zend/zend_compile.c void zend_compile_instanceof(znode *result, zend_ast *ast) /* {{{ */ ast 6309 Zend/zend_compile.c zend_ast *obj_ast = ast->child[0]; ast 6310 Zend/zend_compile.c zend_ast *class_ast = ast->child[1]; ast 6341 Zend/zend_compile.c void zend_compile_include_or_eval(znode *result, zend_ast *ast) /* {{{ */ ast 6343 Zend/zend_compile.c zend_ast *expr_ast = ast->child[0]; ast 6351 Zend/zend_compile.c opline->extended_value = ast->attr; ast 6357 Zend/zend_compile.c void zend_compile_isset_or_empty(znode *result, zend_ast *ast) /* {{{ */ ast 6359 Zend/zend_compile.c zend_ast *var_ast = ast->child[0]; ast 6364 Zend/zend_compile.c ZEND_ASSERT(ast->kind == ZEND_AST_ISSET || ast->kind == ZEND_AST_EMPTY); ast 6367 Zend/zend_compile.c if (ast->kind == ZEND_AST_EMPTY) { ast 6405 Zend/zend_compile.c opline->extended_value |= ast->kind == ZEND_AST_ISSET ? ZEND_ISSET : ZEND_ISEMPTY; ast 6409 Zend/zend_compile.c void zend_compile_silence(znode *result, zend_ast *ast) /* {{{ */ ast 6411 Zend/zend_compile.c zend_ast *expr_ast = ast->child[0]; ast 6439 Zend/zend_compile.c void zend_compile_shell_exec(znode *result, zend_ast *ast) /* {{{ */ ast 6441 Zend/zend_compile.c zend_ast *expr_ast = ast->child[0]; ast 6457 Zend/zend_compile.c void zend_compile_array(znode *result, zend_ast *ast) /* {{{ */ ast 6459 Zend/zend_compile.c zend_ast_list *list = zend_ast_get_list(ast); ast 6464 Zend/zend_compile.c if (zend_try_ct_eval_array(&result->u.constant, ast)) { ast 6520 Zend/zend_compile.c void zend_compile_const(znode *result, zend_ast *ast) /* {{{ */ ast 6522 Zend/zend_compile.c zend_ast *name_ast = ast->child[0]; ast 6531 Zend/zend_compile.c zend_ast *last = CG(ast); ast 6572 Zend/zend_compile.c void zend_compile_class_const(znode *result, zend_ast *ast) /* {{{ */ ast 6574 Zend/zend_compile.c zend_ast *class_ast = ast->child[0]; ast 6575 Zend/zend_compile.c zend_ast *const_ast = ast->child[1]; ast 6631 Zend/zend_compile.c void zend_compile_resolve_class_name(znode *result, zend_ast *ast) /* {{{ */ ast 6633 Zend/zend_compile.c zend_ast *name_ast = ast->child[0]; ast 6683 Zend/zend_compile.c static void zend_compile_encaps_list(znode *result, zend_ast *ast) /* {{{ */ ast 6689 Zend/zend_compile.c zend_ast_list *list = zend_ast_get_list(ast); ast 6794 Zend/zend_compile.c void zend_compile_magic_const(znode *result, zend_ast *ast) /* {{{ */ ast 6798 Zend/zend_compile.c if (zend_try_ct_eval_magic_const(&result->u.constant, ast)) { ast 6803 Zend/zend_compile.c ZEND_ASSERT(ast->attr == T_CLASS_C && ast 6828 Zend/zend_compile.c zend_ast *ast = *ast_ptr; ast 6829 Zend/zend_compile.c zend_ast *class_ast = ast->child[0]; ast 6830 Zend/zend_compile.c zend_ast *const_ast = ast->child[1]; ast 6866 Zend/zend_compile.c zend_ast_destroy(ast); ast 6875 Zend/zend_compile.c zend_ast *ast = *ast_ptr; ast 6876 Zend/zend_compile.c zend_ast *name_ast = ast->child[0]; ast 6886 Zend/zend_compile.c zend_ast_destroy(ast); ast 6896 Zend/zend_compile.c zend_ast_destroy(ast); ast 6903 Zend/zend_compile.c zend_ast *ast = *ast_ptr; ast 6906 Zend/zend_compile.c ZEND_ASSERT(ast->attr == T_CLASS_C && ast 6915 Zend/zend_compile.c zend_ast_destroy(ast); ast 6923 Zend/zend_compile.c zend_ast *ast = *ast_ptr; ast 6924 Zend/zend_compile.c if (ast == NULL || ast->kind == ZEND_AST_ZVAL) { ast 6928 Zend/zend_compile.c if (!zend_is_allowed_in_const_expr(ast->kind)) { ast 6932 Zend/zend_compile.c switch (ast->kind) { ast 6943 Zend/zend_compile.c zend_ast_apply(ast, zend_compile_const_expr); ast 6949 Zend/zend_compile.c void zend_const_expr_to_zval(zval *result, zend_ast *ast) /* {{{ */ ast 6951 Zend/zend_compile.c zend_ast *orig_ast = ast; ast 6952 Zend/zend_compile.c zend_eval_const_expr(&ast); ast 6953 Zend/zend_compile.c zend_compile_const_expr(&ast); ast 6954 Zend/zend_compile.c if (ast->kind == ZEND_AST_ZVAL) { ast 6955 Zend/zend_compile.c ZVAL_COPY_VALUE(result, zend_ast_get_zval(ast)); ast 6962 Zend/zend_compile.c ZVAL_NEW_AST(result, zend_ast_copy(ast)); ast 6968 Zend/zend_compile.c void zend_compile_top_stmt(zend_ast *ast) /* {{{ */ ast 6970 Zend/zend_compile.c if (!ast) { ast 6974 Zend/zend_compile.c if (ast->kind == ZEND_AST_STMT_LIST) { ast 6975 Zend/zend_compile.c zend_ast_list *list = zend_ast_get_list(ast); ast 6983 Zend/zend_compile.c zend_compile_stmt(ast); ast 6985 Zend/zend_compile.c if (ast->kind != ZEND_AST_NAMESPACE && ast->kind != ZEND_AST_HALT_COMPILER) { ast 6988 Zend/zend_compile.c if (ast->kind == ZEND_AST_FUNC_DECL || ast->kind == ZEND_AST_CLASS) { ast 6989 Zend/zend_compile.c CG(zend_lineno) = ((zend_ast_decl *) ast)->end_lineno; ast 6995 Zend/zend_compile.c void zend_compile_stmt(zend_ast *ast) /* {{{ */ ast 6997 Zend/zend_compile.c if (!ast) { ast 7001 Zend/zend_compile.c CG(zend_lineno) = ast->lineno; ast 7003 Zend/zend_compile.c if ((CG(compiler_options) & ZEND_COMPILE_EXTENDED_INFO) && !zend_is_unticked_stmt(ast)) { ast 7007 Zend/zend_compile.c switch (ast->kind) { ast 7009 Zend/zend_compile.c zend_compile_stmt_list(ast); ast 7012 Zend/zend_compile.c zend_compile_global_var(ast); ast 7015 Zend/zend_compile.c zend_compile_static_var(ast); ast 7018 Zend/zend_compile.c zend_compile_unset(ast); ast 7021 Zend/zend_compile.c zend_compile_return(ast); ast 7024 Zend/zend_compile.c zend_compile_echo(ast); ast 7027 Zend/zend_compile.c zend_compile_throw(ast); ast 7031 Zend/zend_compile.c zend_compile_break_continue(ast); ast 7034 Zend/zend_compile.c zend_compile_goto(ast); ast 7037 Zend/zend_compile.c zend_compile_label(ast); ast 7040 Zend/zend_compile.c zend_compile_while(ast); ast 7043 Zend/zend_compile.c zend_compile_do_while(ast); ast 7046 Zend/zend_compile.c zend_compile_for(ast); ast 7049 Zend/zend_compile.c zend_compile_foreach(ast); ast 7052 Zend/zend_compile.c zend_compile_if(ast); ast 7055 Zend/zend_compile.c zend_compile_switch(ast); ast 7058 Zend/zend_compile.c zend_compile_try(ast); ast 7061 Zend/zend_compile.c zend_compile_declare(ast); ast 7065 Zend/zend_compile.c zend_compile_func_decl(NULL, ast); ast 7068 Zend/zend_compile.c zend_compile_prop_decl(ast); ast 7071 Zend/zend_compile.c zend_compile_class_const_decl(ast); ast 7074 Zend/zend_compile.c zend_compile_use_trait(ast); ast 7077 Zend/zend_compile.c zend_compile_class_decl(ast); ast 7080 Zend/zend_compile.c zend_compile_group_use(ast); ast 7083 Zend/zend_compile.c zend_compile_use(ast); ast 7086 Zend/zend_compile.c zend_compile_const_decl(ast); ast 7089 Zend/zend_compile.c zend_compile_namespace(ast); ast 7092 Zend/zend_compile.c zend_compile_halt_compiler(ast); ast 7097 Zend/zend_compile.c zend_compile_expr(&result, ast); ast 7102 Zend/zend_compile.c if (FC(declarables).ticks && !zend_is_unticked_stmt(ast)) { ast 7108 Zend/zend_compile.c void zend_compile_expr(znode *result, zend_ast *ast) /* {{{ */ ast 7111 Zend/zend_compile.c CG(zend_lineno) = zend_ast_get_lineno(ast); ast 7113 Zend/zend_compile.c switch (ast->kind) { ast 7115 Zend/zend_compile.c ZVAL_COPY(&result->u.constant, zend_ast_get_zval(ast)); ast 7119 Zend/zend_compile.c *result = *zend_ast_get_znode(ast); ast 7128 Zend/zend_compile.c zend_compile_var(result, ast, BP_VAR_R); ast 7131 Zend/zend_compile.c zend_compile_assign(result, ast); ast 7134 Zend/zend_compile.c zend_compile_assign_ref(result, ast); ast 7137 Zend/zend_compile.c zend_compile_new(result, ast); ast 7140 Zend/zend_compile.c zend_compile_clone(result, ast); ast 7143 Zend/zend_compile.c zend_compile_compound_assign(result, ast); ast 7146 Zend/zend_compile.c zend_compile_binary_op(result, ast); ast 7150 Zend/zend_compile.c zend_compile_greater(result, ast); ast 7153 Zend/zend_compile.c zend_compile_unary_op(result, ast); ast 7157 Zend/zend_compile.c zend_compile_unary_pm(result, ast); ast 7161 Zend/zend_compile.c zend_compile_short_circuiting(result, ast); ast 7165 Zend/zend_compile.c zend_compile_post_incdec(result, ast); ast 7169 Zend/zend_compile.c zend_compile_pre_incdec(result, ast); ast 7172 Zend/zend_compile.c zend_compile_cast(result, ast); ast 7175 Zend/zend_compile.c zend_compile_conditional(result, ast); ast 7178 Zend/zend_compile.c zend_compile_coalesce(result, ast); ast 7181 Zend/zend_compile.c zend_compile_print(result, ast); ast 7184 Zend/zend_compile.c zend_compile_exit(result, ast); ast 7187 Zend/zend_compile.c zend_compile_yield(result, ast); ast 7190 Zend/zend_compile.c zend_compile_yield_from(result, ast); ast 7193 Zend/zend_compile.c zend_compile_instanceof(result, ast); ast 7196 Zend/zend_compile.c zend_compile_include_or_eval(result, ast); ast 7200 Zend/zend_compile.c zend_compile_isset_or_empty(result, ast); ast 7203 Zend/zend_compile.c zend_compile_silence(result, ast); ast 7206 Zend/zend_compile.c zend_compile_shell_exec(result, ast); ast 7209 Zend/zend_compile.c zend_compile_array(result, ast); ast 7212 Zend/zend_compile.c zend_compile_const(result, ast); ast 7215 Zend/zend_compile.c zend_compile_class_const(result, ast); ast 7218 Zend/zend_compile.c zend_compile_encaps_list(result, ast); ast 7221 Zend/zend_compile.c zend_compile_magic_const(result, ast); ast 7224 Zend/zend_compile.c zend_compile_func_decl(result, ast); ast 7232 Zend/zend_compile.c void zend_compile_var(znode *result, zend_ast *ast, uint32_t type) /* {{{ */ ast 7234 Zend/zend_compile.c switch (ast->kind) { ast 7236 Zend/zend_compile.c zend_compile_simple_var(result, ast, type, 0); ast 7239 Zend/zend_compile.c zend_compile_dim(result, ast, type); ast 7242 Zend/zend_compile.c zend_compile_prop(result, ast, type); ast 7245 Zend/zend_compile.c zend_compile_static_prop(result, ast, type, 0); ast 7248 Zend/zend_compile.c zend_compile_call(result, ast, type); ast 7251 Zend/zend_compile.c zend_compile_method_call(result, ast, type); ast 7254 Zend/zend_compile.c zend_compile_static_call(result, ast, type); ast 7257 Zend/zend_compile.c *result = *zend_ast_get_znode(ast); ast 7267 Zend/zend_compile.c zend_compile_expr(result, ast); ast 7273 Zend/zend_compile.c void zend_delayed_compile_var(znode *result, zend_ast *ast, uint32_t type) /* {{{ */ ast 7276 Zend/zend_compile.c switch (ast->kind) { ast 7278 Zend/zend_compile.c zend_compile_simple_var(result, ast, type, 1); ast 7281 Zend/zend_compile.c opline = zend_delayed_compile_dim(result, ast, type); ast 7285 Zend/zend_compile.c opline = zend_delayed_compile_prop(result, ast, type); ast 7289 Zend/zend_compile.c zend_compile_static_prop(result, ast, type, 1); ast 7292 Zend/zend_compile.c zend_compile_var(result, ast, type); ast 7300 Zend/zend_compile.c zend_ast *ast = *ast_ptr; ast 7303 Zend/zend_compile.c if (!ast) { ast 7307 Zend/zend_compile.c switch (ast->kind) { ast 7309 Zend/zend_compile.c zend_eval_const_expr(&ast->child[0]); ast 7310 Zend/zend_compile.c zend_eval_const_expr(&ast->child[1]); ast 7311 Zend/zend_compile.c if (ast->child[0]->kind != ZEND_AST_ZVAL || ast->child[1]->kind != ZEND_AST_ZVAL) { ast 7315 Zend/zend_compile.c if (!zend_try_ct_eval_binary_op(&result, ast->attr, ast 7316 Zend/zend_compile.c zend_ast_get_zval(ast->child[0]), zend_ast_get_zval(ast->child[1])) ast 7323 Zend/zend_compile.c zend_eval_const_expr(&ast->child[0]); ast 7324 Zend/zend_compile.c zend_eval_const_expr(&ast->child[1]); ast 7325 Zend/zend_compile.c if (ast->child[0]->kind != ZEND_AST_ZVAL || ast->child[1]->kind != ZEND_AST_ZVAL) { ast 7329 Zend/zend_compile.c zend_ct_eval_greater(&result, ast->kind, ast 7330 Zend/zend_compile.c zend_ast_get_zval(ast->child[0]), zend_ast_get_zval(ast->child[1])); ast 7337 Zend/zend_compile.c zend_eval_const_expr(&ast->child[i]); ast 7338 Zend/zend_compile.c if (ast->child[i]->kind == ZEND_AST_ZVAL) { ast 7339 Zend/zend_compile.c if (zend_is_true(zend_ast_get_zval(ast->child[i])) == (ast->kind == ZEND_AST_OR)) { ast 7340 Zend/zend_compile.c ZVAL_BOOL(&result, ast->kind == ZEND_AST_OR); ast 7346 Zend/zend_compile.c if (ast->child[0]->kind != ZEND_AST_ZVAL || ast->child[1]->kind != ZEND_AST_ZVAL) { ast 7350 Zend/zend_compile.c if (ast->kind == ZEND_AST_OR) { ast 7351 Zend/zend_compile.c ZVAL_BOOL(&result, zend_is_true(zend_ast_get_zval(ast->child[0])) || zend_is_true(zend_ast_get_zval(ast->child[1]))); ast 7353 Zend/zend_compile.c ZVAL_BOOL(&result, zend_is_true(zend_ast_get_zval(ast->child[0])) && zend_is_true(zend_ast_get_zval(ast->child[1]))); ast 7358 Zend/zend_compile.c zend_eval_const_expr(&ast->child[0]); ast 7359 Zend/zend_compile.c if (ast->child[0]->kind != ZEND_AST_ZVAL) { ast 7363 Zend/zend_compile.c zend_ct_eval_unary_op(&result, ast->attr, zend_ast_get_zval(ast->child[0])); ast 7367 Zend/zend_compile.c zend_eval_const_expr(&ast->child[0]); ast 7368 Zend/zend_compile.c if (ast->child[0]->kind != ZEND_AST_ZVAL) { ast 7372 Zend/zend_compile.c zend_ct_eval_unary_pm(&result, ast->kind, zend_ast_get_zval(ast->child[0])); ast 7377 Zend/zend_compile.c zend_eval_const_expr(&ast->child[0]); ast 7378 Zend/zend_compile.c if (ast->child[0]->kind != ZEND_AST_ZVAL) { ast 7380 Zend/zend_compile.c if (ast->child[1]) { ast 7381 Zend/zend_compile.c zend_eval_const_expr(&ast->child[1]); ast 7383 Zend/zend_compile.c zend_eval_const_expr(&ast->child[2]); ast 7387 Zend/zend_compile.c child = &ast->child[2 - zend_is_true(zend_ast_get_zval(ast->child[0]))]; ast 7393 Zend/zend_compile.c zend_ast_destroy(ast); ast 7403 Zend/zend_compile.c if (ast->child[1] == NULL) { ast 7407 Zend/zend_compile.c zend_eval_const_expr(&ast->child[0]); ast 7408 Zend/zend_compile.c zend_eval_const_expr(&ast->child[1]); ast 7409 Zend/zend_compile.c if (ast->child[0]->kind != ZEND_AST_ZVAL || ast->child[1]->kind != ZEND_AST_ZVAL) { ast 7413 Zend/zend_compile.c container = zend_ast_get_zval(ast->child[0]); ast 7414 Zend/zend_compile.c dim = zend_ast_get_zval(ast->child[1]); ast 7460 Zend/zend_compile.c if (!zend_try_ct_eval_array(&result, ast)) { ast 7465 Zend/zend_compile.c if (!zend_try_ct_eval_magic_const(&result, ast)) { ast 7471 Zend/zend_compile.c zend_ast *name_ast = ast->child[0]; ast 7486 Zend/zend_compile.c zend_ast *class_ast = ast->child[0]; ast 7487 Zend/zend_compile.c zend_ast *name_ast = ast->child[1]; ast 7493 Zend/zend_compile.c zend_ast_destroy(ast); ast 7528 Zend/zend_compile.c zend_ast_destroy(ast); ast 106 Zend/zend_compile.h static zend_always_inline znode *zend_ast_get_znode(zend_ast *ast) { ast 107 Zend/zend_compile.h return &((zend_ast_znode *) ast)->node; ast 141 Zend/zend_compile.h zend_ast *ast; ast 146 Zend/zend_compile.h void zend_compile_top_stmt(zend_ast *ast); ast 147 Zend/zend_compile.h void zend_compile_stmt(zend_ast *ast); ast 148 Zend/zend_compile.h void zend_compile_expr(znode *node, zend_ast *ast); ast 149 Zend/zend_compile.h void zend_compile_var(znode *node, zend_ast *ast, uint32_t type); ast 151 Zend/zend_compile.h void zend_const_expr_to_zval(zval *result, zend_ast *ast); ast 701 Zend/zend_compile.h void zend_handle_encoding_declaration(zend_ast *ast); ast 125 Zend/zend_globals.h zend_ast *ast; ast 52 Zend/zend_language_parser.y %destructor { zend_ast_destroy($$); } <ast> ast 89 Zend/zend_language_parser.y %token <ast> T_LNUMBER "integer number (T_LNUMBER)" ast 90 Zend/zend_language_parser.y %token <ast> T_DNUMBER "floating-point number (T_DNUMBER)" ast 91 Zend/zend_language_parser.y %token <ast> T_STRING "identifier (T_STRING)" ast 92 Zend/zend_language_parser.y %token <ast> T_VARIABLE "variable (T_VARIABLE)" ast 93 Zend/zend_language_parser.y %token <ast> T_INLINE_HTML ast 94 Zend/zend_language_parser.y %token <ast> T_ENCAPSED_AND_WHITESPACE "quoted-string and whitespace (T_ENCAPSED_AND_WHITESPACE)" ast 95 Zend/zend_language_parser.y %token <ast> T_CONSTANT_ENCAPSED_STRING "quoted-string (T_CONSTANT_ENCAPSED_STRING)" ast 96 Zend/zend_language_parser.y %token <ast> T_STRING_VARNAME "variable name (T_STRING_VARNAME)" ast 97 Zend/zend_language_parser.y %token <ast> T_NUM_STRING "number (T_NUM_STRING)" ast 228 Zend/zend_language_parser.y %type <ast> top_statement namespace_name name statement function_declaration_statement ast 229 Zend/zend_language_parser.y %type <ast> class_declaration_statement trait_declaration_statement ast 230 Zend/zend_language_parser.y %type <ast> interface_declaration_statement interface_extends_list ast 231 Zend/zend_language_parser.y %type <ast> group_use_declaration inline_use_declarations inline_use_declaration ast 232 Zend/zend_language_parser.y %type <ast> mixed_group_use_declaration use_declaration unprefixed_use_declaration ast 233 Zend/zend_language_parser.y %type <ast> unprefixed_use_declarations const_decl inner_statement ast 234 Zend/zend_language_parser.y %type <ast> expr optional_expr while_statement for_statement foreach_variable ast 235 Zend/zend_language_parser.y %type <ast> foreach_statement declare_statement finally_statement unset_variable variable ast 236 Zend/zend_language_parser.y %type <ast> extends_from parameter optional_type argument expr_without_variable global_var ast 237 Zend/zend_language_parser.y %type <ast> static_var class_statement trait_adaptation trait_precedence trait_alias ast 238 Zend/zend_language_parser.y %type <ast> absolute_trait_method_reference trait_method_reference property echo_expr ast 239 Zend/zend_language_parser.y %type <ast> new_expr anonymous_class class_name class_name_reference simple_variable ast 240 Zend/zend_language_parser.y %type <ast> internal_functions_in_yacc ast 241 Zend/zend_language_parser.y %type <ast> exit_expr scalar backticks_expr lexical_var function_call member_name property_name ast 242 Zend/zend_language_parser.y %type <ast> variable_class_name dereferencable_scalar constant dereferencable ast 243 Zend/zend_language_parser.y %type <ast> callable_expr callable_variable static_member new_variable ast 244 Zend/zend_language_parser.y %type <ast> assignment_list_element array_pair encaps_var encaps_var_offset isset_variables ast 245 Zend/zend_language_parser.y %type <ast> top_statement_list use_declarations const_list inner_statement_list if_stmt ast 246 Zend/zend_language_parser.y %type <ast> alt_if_stmt for_exprs switch_case_list global_var_list static_var_list ast 247 Zend/zend_language_parser.y %type <ast> echo_expr_list unset_variables catch_list parameter_list class_statement_list ast 248 Zend/zend_language_parser.y %type <ast> implements_list case_list if_stmt_without_else ast 249 Zend/zend_language_parser.y %type <ast> non_empty_parameter_list argument_list non_empty_argument_list property_list ast 250 Zend/zend_language_parser.y %type <ast> class_const_list class_const_decl name_list trait_adaptations method_body non_empty_for_exprs ast 251 Zend/zend_language_parser.y %type <ast> ctor_arguments alt_if_stmt_without_else trait_adaptation_list lexical_vars ast 252 Zend/zend_language_parser.y %type <ast> lexical_var_list encaps_list array_pair_list non_empty_array_pair_list ast 253 Zend/zend_language_parser.y %type <ast> assignment_list isset_variable type return_type ast 254 Zend/zend_language_parser.y %type <ast> identifier ast 265 Zend/zend_language_parser.y top_statement_list { CG(ast) = $1; } ast 231 Zend/zend_language_scanner.c lex_state->ast = CG(ast); ast 270 Zend/zend_language_scanner.c CG(ast) = lex_state->ast; ast 591 Zend/zend_language_scanner.c CG(ast) = NULL; ast 604 Zend/zend_language_scanner.c zend_ast_process(CG(ast)); ast 609 Zend/zend_language_scanner.c zend_compile_top_stmt(CG(ast)); ast 620 Zend/zend_language_scanner.c zend_ast_destroy(CG(ast)); ast 756 Zend/zend_language_scanner.c CG(ast) = NULL; ast 769 Zend/zend_language_scanner.c zend_ast_process(CG(ast)); ast 774 Zend/zend_language_scanner.c zend_compile_top_stmt(CG(ast)); ast 785 Zend/zend_language_scanner.c zend_ast_destroy(CG(ast)); ast 56 Zend/zend_language_scanner.h zend_ast *ast; ast 110 Zend/zend_types.h zend_ast_ref *ast; ast 298 Zend/zend_types.h zend_ast *ast; ast 569 Zend/zend_types.h #define Z_AST(zval) (zval).value.ast ast 572 Zend/zend_types.h #define Z_ASTVAL(zval) (zval).value.ast->ast ast 760 Zend/zend_types.h _ast->ast = (a); \ ast 48 Zend/zend_variables.c zend_ast_ref *ast = (zend_ast_ref*)p; ast 50 Zend/zend_variables.c zend_ast_destroy_and_free(ast->ast); ast 51 Zend/zend_variables.c efree_size(ast, sizeof(zend_ast_ref)); ast 100 Zend/zend_variables.c zend_ast_ref *ast = (zend_ast_ref*)p; ast 102 Zend/zend_variables.c zend_ast_destroy_and_free(ast->ast); ast 103 Zend/zend_variables.c efree_size(ast, sizeof(zend_ast_ref)); ast 228 Zend/zend_variables.c zend_ast_ref *ast = emalloc(sizeof(zend_ast_ref)); ast 230 Zend/zend_variables.c GC_REFCOUNT(ast) = 1; ast 231 Zend/zend_variables.c GC_TYPE_INFO(ast) = IS_CONSTANT_AST; ast 232 Zend/zend_variables.c ast->ast = zend_ast_copy(Z_ASTVAL_P(zvalue)); ast 233 Zend/zend_variables.c Z_AST_P(zvalue) = ast; ast 43 ext/opcache/zend_accelerator_util_funcs.c static zend_ast *zend_ast_clone(zend_ast *ast); ast 178 ext/opcache/zend_accelerator_util_funcs.c ZVAL_NEW_AST(src, old->ast); ast 188 ext/opcache/zend_accelerator_util_funcs.c static zend_ast *zend_ast_clone(zend_ast *ast) ast 192 ext/opcache/zend_accelerator_util_funcs.c if (ast->kind == ZEND_AST_ZVAL) { ast 195 ext/opcache/zend_accelerator_util_funcs.c copy->attr = ast->attr; ast 196 ext/opcache/zend_accelerator_util_funcs.c ZVAL_COPY_VALUE(©->val, zend_ast_get_zval(ast)); ast 198 ext/opcache/zend_accelerator_util_funcs.c } else if (zend_ast_is_list(ast)) { ast 199 ext/opcache/zend_accelerator_util_funcs.c zend_ast_list *list = zend_ast_get_list(ast); ast 214 ext/opcache/zend_accelerator_util_funcs.c uint32_t children = zend_ast_get_num_children(ast); ast 216 ext/opcache/zend_accelerator_util_funcs.c copy->kind = ast->kind; ast 217 ext/opcache/zend_accelerator_util_funcs.c copy->attr = ast->attr; ast 219 ext/opcache/zend_accelerator_util_funcs.c if (ast->child[i]) { ast 220 ext/opcache/zend_accelerator_util_funcs.c copy->child[i] = zend_ast_clone(ast->child[i]); ast 269 ext/opcache/zend_file_cache.c static zend_ast *zend_file_cache_serialize_ast(zend_ast *ast, ast 277 ext/opcache/zend_file_cache.c SERIALIZE_PTR(ast); ast 278 ext/opcache/zend_file_cache.c ret = ast; ast 279 ext/opcache/zend_file_cache.c UNSERIALIZE_PTR(ast); ast 281 ext/opcache/zend_file_cache.c if (ast->kind == ZEND_AST_ZVAL) { ast 282 ext/opcache/zend_file_cache.c zend_file_cache_serialize_zval(&((zend_ast_zval*)ast)->val, script, info, buf); ast 283 ext/opcache/zend_file_cache.c } else if (zend_ast_is_list(ast)) { ast 284 ext/opcache/zend_file_cache.c zend_ast_list *list = zend_ast_get_list(ast); ast 291 ext/opcache/zend_file_cache.c uint32_t children = zend_ast_get_num_children(ast); ast 293 ext/opcache/zend_file_cache.c if (ast->child[i]) { ast 294 ext/opcache/zend_file_cache.c ast->child[i] = zend_file_cache_serialize_ast(ast->child[i], script, info, buf); ast 335 ext/opcache/zend_file_cache.c zend_ast_ref *ast; ast 338 ext/opcache/zend_file_cache.c ast = Z_AST_P(zv); ast 339 ext/opcache/zend_file_cache.c UNSERIALIZE_PTR(ast); ast 340 ext/opcache/zend_file_cache.c if (!IS_SERIALIZED(ast->ast)) { ast 341 ext/opcache/zend_file_cache.c ast->ast = zend_file_cache_serialize_ast(ast->ast, script, info, buf); ast 835 ext/opcache/zend_file_cache.c static zend_ast *zend_file_cache_unserialize_ast(zend_ast *ast, ast 841 ext/opcache/zend_file_cache.c UNSERIALIZE_PTR(ast); ast 843 ext/opcache/zend_file_cache.c if (ast->kind == ZEND_AST_ZVAL) { ast 844 ext/opcache/zend_file_cache.c zend_file_cache_unserialize_zval(&((zend_ast_zval*)ast)->val, script, buf); ast 845 ext/opcache/zend_file_cache.c } else if (zend_ast_is_list(ast)) { ast 846 ext/opcache/zend_file_cache.c zend_ast_list *list = zend_ast_get_list(ast); ast 853 ext/opcache/zend_file_cache.c uint32_t children = zend_ast_get_num_children(ast); ast 855 ext/opcache/zend_file_cache.c if (ast->child[i]) { ast 856 ext/opcache/zend_file_cache.c ast->child[i] = zend_file_cache_unserialize_ast(ast->child[i], script, buf); ast 860 ext/opcache/zend_file_cache.c return ast; ast 895 ext/opcache/zend_file_cache.c zend_ast_ref *ast; ast 898 ext/opcache/zend_file_cache.c ast = Z_AST_P(zv); ast 899 ext/opcache/zend_file_cache.c if (!IS_UNSERIALIZED(ast->ast)) { ast 900 ext/opcache/zend_file_cache.c ast->ast = zend_file_cache_unserialize_ast(ast->ast, script, buf); ast 236 ext/opcache/zend_persist.c static zend_ast *zend_persist_ast(zend_ast *ast) ast 241 ext/opcache/zend_persist.c if (ast->kind == ZEND_AST_ZVAL) { ast 242 ext/opcache/zend_persist.c zend_ast_zval *copy = zend_accel_memdup(ast, sizeof(zend_ast_zval)); ast 245 ext/opcache/zend_persist.c } else if (zend_ast_is_list(ast)) { ast 246 ext/opcache/zend_persist.c zend_ast_list *list = zend_ast_get_list(ast); ast 247 ext/opcache/zend_persist.c zend_ast_list *copy = zend_accel_memdup(ast, ast 256 ext/opcache/zend_persist.c uint32_t children = zend_ast_get_num_children(ast); ast 257 ext/opcache/zend_persist.c node = zend_accel_memdup(ast, sizeof(zend_ast) - sizeof(zend_ast *) + sizeof(zend_ast *) * children); ast 265 ext/opcache/zend_persist.c efree(ast); ast 95 ext/opcache/zend_persist_calc.c static void zend_persist_ast_calc(zend_ast *ast) ast 99 ext/opcache/zend_persist_calc.c if (ast->kind == ZEND_AST_ZVAL) { ast 101 ext/opcache/zend_persist_calc.c zend_persist_zval_calc(zend_ast_get_zval(ast)); ast 102 ext/opcache/zend_persist_calc.c } else if (zend_ast_is_list(ast)) { ast 103 ext/opcache/zend_persist_calc.c zend_ast_list *list = zend_ast_get_list(ast); ast 111 ext/opcache/zend_persist_calc.c uint32_t children = zend_ast_get_num_children(ast); ast 114 ext/opcache/zend_persist_calc.c if (ast->child[i]) { ast 115 ext/opcache/zend_persist_calc.c zend_persist_ast_calc(ast->child[i]); ast 241 ext/tokenizer/tokenizer.c CG(ast) = NULL; ast 253 ext/tokenizer/tokenizer.c zend_ast_destroy(CG(ast));