Default values (static scalar tests) ----- 'baz'] ) {} ----- array( 0: Stmt_Function( byRef: false name: Identifier( name: a ) params: array( 0: Param( type: null byRef: false variadic: false var: Expr_Variable( name: b ) default: Expr_ConstFetch( name: Name( parts: array( 0: null ) ) ) ) 1: Param( type: null byRef: false variadic: false var: Expr_Variable( name: c ) default: Scalar_String( value: foo ) ) 2: Param( type: null byRef: false variadic: false var: Expr_Variable( name: d ) default: Expr_ClassConstFetch( class: Name( parts: array( 0: A ) ) name: Identifier( name: B ) ) ) 3: Param( type: null byRef: false variadic: false var: Expr_Variable( name: f ) default: Expr_UnaryPlus( expr: Scalar_LNumber( value: 1 ) ) ) 4: Param( type: null byRef: false variadic: false var: Expr_Variable( name: g ) default: Expr_UnaryMinus( expr: Scalar_DNumber( value: 1 ) ) ) 5: Param( type: null byRef: false variadic: false var: Expr_Variable( name: h ) default: Expr_Array( items: array( ) ) ) 6: Param( type: null byRef: false variadic: false var: Expr_Variable( name: i ) default: Expr_Array( items: array( ) ) ) 7: Param( type: null byRef: false variadic: false var: Expr_Variable( name: j ) default: Expr_Array( items: array( 0: Expr_ArrayItem( key: null value: Scalar_String( value: foo ) byRef: false ) ) ) ) 8: Param( type: null byRef: false variadic: false var: Expr_Variable( name: k ) default: Expr_Array( items: array( 0: Expr_ArrayItem( key: null value: Scalar_String( value: foo ) byRef: false ) 1: Expr_ArrayItem( key: Scalar_String( value: bar ) value: Scalar_String( value: baz ) byRef: false ) ) ) ) ) returnType: null stmts: array( ) ) )