1Trailing comma in parameter list 2----- 3<?php 4 5function foo($bar, ) { 6} 7----- 8array( 9 0: Stmt_Function( 10 attrGroups: array( 11 ) 12 byRef: false 13 name: Identifier( 14 name: foo 15 ) 16 params: array( 17 0: Param( 18 attrGroups: array( 19 ) 20 flags: 0 21 type: null 22 byRef: false 23 variadic: false 24 var: Expr_Variable( 25 name: bar 26 ) 27 default: null 28 ) 29 ) 30 returnType: null 31 stmts: array( 32 ) 33 ) 34) 35----- 36<?php 37 38class Foo 39{ 40 function __construct($name, $value, ) 41 { 42 } 43} 44----- 45array( 46 0: Stmt_Class( 47 attrGroups: array( 48 ) 49 flags: 0 50 name: Identifier( 51 name: Foo 52 ) 53 extends: null 54 implements: array( 55 ) 56 stmts: array( 57 0: Stmt_ClassMethod( 58 attrGroups: array( 59 ) 60 flags: 0 61 byRef: false 62 name: Identifier( 63 name: __construct 64 ) 65 params: array( 66 0: Param( 67 attrGroups: array( 68 ) 69 flags: 0 70 type: null 71 byRef: false 72 variadic: false 73 var: Expr_Variable( 74 name: name 75 ) 76 default: null 77 ) 78 1: Param( 79 attrGroups: array( 80 ) 81 flags: 0 82 type: null 83 byRef: false 84 variadic: false 85 var: Expr_Variable( 86 name: value 87 ) 88 default: null 89 ) 90 ) 91 returnType: null 92 stmts: array( 93 ) 94 ) 95 ) 96 ) 97) 98----- 99<?php 100fn($foo, ) => $bar; 101----- 102array( 103 0: Stmt_Expression( 104 expr: Expr_ArrowFunction( 105 attrGroups: array( 106 ) 107 static: false 108 byRef: false 109 params: array( 110 0: Param( 111 attrGroups: array( 112 ) 113 flags: 0 114 type: null 115 byRef: false 116 variadic: false 117 var: Expr_Variable( 118 name: foo 119 ) 120 default: null 121 ) 122 ) 123 returnType: null 124 expr: Expr_Variable( 125 name: bar 126 ) 127 ) 128 ) 129) 130