Lines Matching refs:ast
216 typedef void (*zend_ast_process_t)(zend_ast *ast);
246 zend_ast *ast = zend_ast_create_0(kind); in zend_ast_create_ex_0() local
247 ast->attr = attr; in zend_ast_create_ex_0()
248 return ast; in zend_ast_create_ex_0()
251 zend_ast *ast = zend_ast_create_1(kind, child); in zend_ast_create_ex_1() local
252 ast->attr = attr; in zend_ast_create_ex_1()
253 return ast; in zend_ast_create_ex_1()
256 zend_ast *ast = zend_ast_create_2(kind, child1, child2); in zend_ast_create_ex_2() local
257 ast->attr = attr; in zend_ast_create_ex_2()
258 return ast; in zend_ast_create_ex_2()
261 zend_ast *ast = zend_ast_create_3(kind, child1, child2, child3); in zend_ast_create_ex_3() local
262 ast->attr = attr; in zend_ast_create_ex_3()
263 return ast; in zend_ast_create_ex_3()
266 zend_ast *ast = zend_ast_create_4(kind, child1, child2, child3, child4); in zend_ast_create_ex_4() local
267 ast->attr = attr; in zend_ast_create_ex_4()
268 return ast; in zend_ast_create_ex_4()
271 zend_ast *ast = zend_ast_create_5(kind, child1, child2, child3, child4, child5); in zend_ast_create_ex_5() local
272 ast->attr = attr; in zend_ast_create_ex_5()
273 return ast; in zend_ast_create_ex_5()
300 ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry …
301 ZEND_API zend_string *zend_ast_export(const char *prefix, zend_ast *ast, const char *suffix);
303 ZEND_API zend_ast_ref * ZEND_FASTCALL zend_ast_copy(zend_ast *ast);
304 ZEND_API void ZEND_FASTCALL zend_ast_destroy(zend_ast *ast);
305 ZEND_API void ZEND_FASTCALL zend_ast_ref_destroy(zend_ast_ref *ast);
308 ZEND_API void zend_ast_apply(zend_ast *ast, zend_ast_apply_func fn, void *context);
314 static zend_always_inline bool zend_ast_is_special(zend_ast *ast) { in zend_ast_is_special() argument
315 return (ast->kind >> ZEND_AST_SPECIAL_SHIFT) & 1; in zend_ast_is_special()
318 static zend_always_inline bool zend_ast_is_list(zend_ast *ast) { in zend_ast_is_list() argument
319 return (ast->kind >> ZEND_AST_IS_LIST_SHIFT) & 1; in zend_ast_is_list()
321 static zend_always_inline zend_ast_list *zend_ast_get_list(zend_ast *ast) { in zend_ast_get_list() argument
322 ZEND_ASSERT(zend_ast_is_list(ast)); in zend_ast_get_list()
323 return (zend_ast_list *) ast; in zend_ast_get_list()
326 static zend_always_inline zval *zend_ast_get_zval(zend_ast *ast) { in zend_ast_get_zval() argument
327 ZEND_ASSERT(ast->kind == ZEND_AST_ZVAL); in zend_ast_get_zval()
328 return &((zend_ast_zval *) ast)->val; in zend_ast_get_zval()
330 static zend_always_inline zend_string *zend_ast_get_str(zend_ast *ast) { in zend_ast_get_str() argument
331 zval *zv = zend_ast_get_zval(ast); in zend_ast_get_str()
336 static zend_always_inline zend_string *zend_ast_get_constant_name(zend_ast *ast) { in zend_ast_get_constant_name() argument
337 ZEND_ASSERT(ast->kind == ZEND_AST_CONSTANT); in zend_ast_get_constant_name()
338 ZEND_ASSERT(Z_TYPE(((zend_ast_zval *) ast)->val) == IS_STRING); in zend_ast_get_constant_name()
339 return Z_STR(((zend_ast_zval *) ast)->val); in zend_ast_get_constant_name()
342 static zend_always_inline uint32_t zend_ast_get_num_children(zend_ast *ast) { in zend_ast_get_num_children() argument
343 ZEND_ASSERT(!zend_ast_is_list(ast)); in zend_ast_get_num_children()
344 return ast->kind >> ZEND_AST_NUM_CHILDREN_SHIFT; in zend_ast_get_num_children()
346 static zend_always_inline uint32_t zend_ast_get_lineno(zend_ast *ast) { in zend_ast_get_lineno() argument
347 if (ast->kind == ZEND_AST_ZVAL) { in zend_ast_get_lineno()
348 zval *zv = zend_ast_get_zval(ast); in zend_ast_get_lineno()
351 return ast->lineno; in zend_ast_get_lineno()
367 static zend_always_inline zend_ast *zend_ast_list_rtrim(zend_ast *ast) { in zend_ast_list_rtrim() argument
368 zend_ast_list *list = zend_ast_get_list(ast); in zend_ast_list_rtrim()
372 return ast; in zend_ast_list_rtrim()
375 zend_ast * ZEND_FASTCALL zend_ast_with_attributes(zend_ast *ast, zend_ast *attr);