Lines Matching refs:ast
222 typedef void (*zend_ast_process_t)(zend_ast *ast);
257 zend_ast *ast = zend_ast_create_0(kind); in zend_ast_create_ex_0() local
258 ast->attr = attr; in zend_ast_create_ex_0()
259 return ast; in zend_ast_create_ex_0()
262 zend_ast *ast = zend_ast_create_1(kind, child); in zend_ast_create_ex_1() local
263 ast->attr = attr; in zend_ast_create_ex_1()
264 return ast; in zend_ast_create_ex_1()
267 zend_ast *ast = zend_ast_create_2(kind, child1, child2); in zend_ast_create_ex_2() local
268 ast->attr = attr; in zend_ast_create_ex_2()
269 return ast; in zend_ast_create_ex_2()
272 zend_ast *ast = zend_ast_create_3(kind, child1, child2, child3); in zend_ast_create_ex_3() local
273 ast->attr = attr; in zend_ast_create_ex_3()
274 return ast; in zend_ast_create_ex_3()
277 zend_ast *ast = zend_ast_create_4(kind, child1, child2, child3, child4); in zend_ast_create_ex_4() local
278 ast->attr = attr; in zend_ast_create_ex_4()
279 return ast; in zend_ast_create_ex_4()
282 zend_ast *ast = zend_ast_create_5(kind, child1, child2, child3, child4, child5); in zend_ast_create_ex_5() local
283 ast->attr = attr; in zend_ast_create_ex_5()
284 return ast; in zend_ast_create_ex_5()
315 ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry …
316 ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast *ast, zend_class_ent…
317 ZEND_API zend_string *zend_ast_export(const char *prefix, zend_ast *ast, const char *suffix);
319 ZEND_API zend_ast_ref * ZEND_FASTCALL zend_ast_copy(zend_ast *ast);
320 ZEND_API void ZEND_FASTCALL zend_ast_destroy(zend_ast *ast);
321 ZEND_API void ZEND_FASTCALL zend_ast_ref_destroy(zend_ast_ref *ast);
324 ZEND_API void zend_ast_apply(zend_ast *ast, zend_ast_apply_func fn, void *context);
330 static zend_always_inline bool zend_ast_is_special(zend_ast *ast) { in zend_ast_is_special() argument
331 return (ast->kind >> ZEND_AST_SPECIAL_SHIFT) & 1; in zend_ast_is_special()
334 static zend_always_inline bool zend_ast_is_list(zend_ast *ast) { in zend_ast_is_list() argument
335 return (ast->kind >> ZEND_AST_IS_LIST_SHIFT) & 1; in zend_ast_is_list()
337 static zend_always_inline zend_ast_list *zend_ast_get_list(zend_ast *ast) { in zend_ast_get_list() argument
338 ZEND_ASSERT(zend_ast_is_list(ast)); in zend_ast_get_list()
339 return (zend_ast_list *) ast; in zend_ast_get_list()
342 static zend_always_inline zval *zend_ast_get_zval(zend_ast *ast) { in zend_ast_get_zval() argument
343 ZEND_ASSERT(ast->kind == ZEND_AST_ZVAL); in zend_ast_get_zval()
344 return &((zend_ast_zval *) ast)->val; in zend_ast_get_zval()
346 static zend_always_inline zend_string *zend_ast_get_str(zend_ast *ast) { in zend_ast_get_str() argument
347 zval *zv = zend_ast_get_zval(ast); in zend_ast_get_str()
352 static zend_always_inline zend_string *zend_ast_get_constant_name(zend_ast *ast) { in zend_ast_get_constant_name() argument
353 ZEND_ASSERT(ast->kind == ZEND_AST_CONSTANT); in zend_ast_get_constant_name()
354 ZEND_ASSERT(Z_TYPE(((zend_ast_zval *) ast)->val) == IS_STRING); in zend_ast_get_constant_name()
355 return Z_STR(((zend_ast_zval *) ast)->val); in zend_ast_get_constant_name()
358 static zend_always_inline uint32_t zend_ast_get_num_children(zend_ast *ast) { in zend_ast_get_num_children() argument
359 ZEND_ASSERT(!zend_ast_is_list(ast)); in zend_ast_get_num_children()
360 return ast->kind >> ZEND_AST_NUM_CHILDREN_SHIFT; in zend_ast_get_num_children()
362 static zend_always_inline uint32_t zend_ast_get_lineno(zend_ast *ast) { in zend_ast_get_lineno() argument
363 if (ast->kind == ZEND_AST_ZVAL) { in zend_ast_get_lineno()
364 zval *zv = zend_ast_get_zval(ast); in zend_ast_get_lineno()
366 } else if (ast->kind == ZEND_AST_CONSTANT || ast->kind == ZEND_AST_OP_ARRAY) { in zend_ast_get_lineno()
367 zval *zv = &((zend_ast_zval *) ast)->val; in zend_ast_get_lineno()
370 return ast->lineno; in zend_ast_get_lineno()
386 static zend_always_inline zend_ast *zend_ast_list_rtrim(zend_ast *ast) { in zend_ast_list_rtrim() argument
387 zend_ast_list *list = zend_ast_get_list(ast); in zend_ast_list_rtrim()
391 return ast; in zend_ast_list_rtrim()
394 zend_ast * ZEND_FASTCALL zend_ast_with_attributes(zend_ast *ast, zend_ast *attr);