@@ -301,6 +301,115 @@ ast\flags\EXEC_REQUIRE
301
301
ast\flags\EXEC_REQUIRE_ONCE
302
302
```
303
303
304
+ AST node kinds
305
+ --------------
306
+
307
+ This section lists the AST node kinds that are supported and the names of their child nodes (in
308
+ version >= 30).
309
+
310
+ ```
311
+ AST_AND: left, right
312
+ AST_ARRAY_ELEM: value, key
313
+ AST_ASSIGN: var, expr
314
+ AST_ASSIGN_OP: var, expr
315
+ AST_ASSIGN_REF: var, expr
316
+ AST_BINARY_OP: left, right
317
+ AST_BREAK: depth
318
+ AST_CALL: expr, args
319
+ AST_CAST: expr
320
+ AST_CATCH: class, var, stmts
321
+ AST_CLASS: extends, implements, stmts
322
+ AST_CLASS_CONST: class, const
323
+ AST_CLONE: expr
324
+ AST_CLOSURE: params, uses, stmts, returnType
325
+ AST_CLOSURE_VAR: name
326
+ AST_COALESCE: left, right
327
+ AST_CONDITIONAL: cond, true, false
328
+ AST_CONST: name
329
+ AST_CONST_ELEM: name, value
330
+ AST_CONTINUE: depth
331
+ AST_DECLARE: declares, stmts
332
+ AST_DIM: expr, dim
333
+ AST_DO_WHILE: stmts, cond
334
+ AST_ECHO: expr
335
+ AST_EMPTY: expr
336
+ AST_EXIT: expr
337
+ AST_FOR: init, cond, loop, stmts
338
+ AST_FOREACH: expr, value, key, stmts
339
+ AST_FUNC_DECL: params, uses, stmts, returnType
340
+ AST_GLOBAL: var
341
+ AST_GOTO: label
342
+ AST_GREATER: left, right
343
+ AST_GREATER_EQUAL: left, right
344
+ AST_GROUP_USE: prefix, uses
345
+ AST_HALT_COMPILER: offset
346
+ AST_IF_ELEM: cond, stmts
347
+ AST_INCLUDE_OR_EVAL: expr
348
+ AST_INSTANCEOF: expr, class
349
+ AST_ISSET: var
350
+ AST_LABEL: name
351
+ AST_MAGIC_CONST:
352
+ AST_METHOD: params, uses, stmts, returnType
353
+ AST_METHOD_CALL: expr, method, args
354
+ AST_METHOD_REFERENCE: class, method
355
+ AST_NAME: name
356
+ AST_NAMESPACE: name, stmts
357
+ AST_NEW: class, args
358
+ AST_OR: left, right
359
+ AST_PARAM: type, name, default
360
+ AST_POST_DEC: var
361
+ AST_POST_INC: var
362
+ AST_PRE_DEC: var
363
+ AST_PRE_INC: var
364
+ AST_PRINT: expr
365
+ AST_PROP: expr, prop
366
+ AST_PROP_ELEM: name, default
367
+ AST_REF: var
368
+ AST_RETURN: expr
369
+ AST_SHELL_EXEC: expr
370
+ AST_SILENCE: expr
371
+ AST_STATIC: var, default
372
+ AST_STATIC_CALL: class, method, args
373
+ AST_STATIC_PROP: class, prop
374
+ AST_SWITCH: cond, stmts
375
+ AST_SWITCH_CASE: cond, stmts
376
+ AST_THROW: expr
377
+ AST_TRAIT_ALIAS: method, alias
378
+ AST_TRAIT_PRECEDENCE: method, insteadof
379
+ AST_TRY: try, catches, finally
380
+ AST_TYPE:
381
+ AST_UNARY_MINUS: expr // prior to version 20
382
+ AST_UNARY_OP: expr
383
+ AST_UNARY_PLUS: expr // prior to version 20
384
+ AST_UNPACK: expr
385
+ AST_UNSET: var
386
+ AST_USE_ELEM: name, alias
387
+ AST_USE_TRAIT: traits, adaptations
388
+ AST_VAR: name
389
+ AST_WHILE: cond, stmts
390
+ AST_YIELD: value, key
391
+ AST_YIELD_FROM: expr
392
+
393
+ // List nodes (numerically indexed children):
394
+ ZEND_AST_ARG_LIST
395
+ ZEND_AST_ARRAY
396
+ ZEND_AST_CATCH_LIST
397
+ ZEND_AST_CLASS_CONST_DECL
398
+ ZEND_AST_CLOSURE_USES
399
+ ZEND_AST_CONST_DECL
400
+ ZEND_AST_ENCAPS_LIST
401
+ ZEND_AST_EXPR_LIST
402
+ ZEND_AST_IF
403
+ ZEND_AST_LIST
404
+ ZEND_AST_NAME_LIST
405
+ ZEND_AST_PARAM_LIST
406
+ ZEND_AST_PROP_DECL
407
+ ZEND_AST_STMT_LIST
408
+ ZEND_AST_SWITCH_LIST
409
+ ZEND_AST_TRAIT_ADAPTATIONS
410
+ ZEND_AST_USE
411
+ ```
412
+
304
413
Version changelog
305
414
-----------------
306
415
0 commit comments