mirror of
https://github.com/phabelio/PHP-Parser.git
synced 2024-12-13 09:37:21 +01:00
3ad0d4b310
This adds an additional "returnType" subnode to Stmt\Function_, Stmt\ClassMethod and Expr\Closure, as well as the corresponding support in the name resolver and pretty printer.
149 lines
3.8 KiB
Plaintext
149 lines
3.8 KiB
Plaintext
Default values (static scalar tests)
|
|
-----
|
|
<?php
|
|
|
|
function a(
|
|
$b = null,
|
|
$c = 'foo',
|
|
$d = A::B,
|
|
$f = +1,
|
|
$g = -1.0,
|
|
$h = array(),
|
|
$i = [],
|
|
$j = ['foo'],
|
|
$k = ['foo', 'bar' => 'baz']
|
|
) {}
|
|
-----
|
|
array(
|
|
0: Stmt_Function(
|
|
byRef: false
|
|
name: a
|
|
params: array(
|
|
0: Param(
|
|
type: null
|
|
byRef: false
|
|
variadic: false
|
|
name: b
|
|
default: Expr_ConstFetch(
|
|
name: Name(
|
|
parts: array(
|
|
0: null
|
|
)
|
|
)
|
|
)
|
|
)
|
|
1: Param(
|
|
type: null
|
|
byRef: false
|
|
variadic: false
|
|
name: c
|
|
default: Scalar_String(
|
|
value: foo
|
|
)
|
|
)
|
|
2: Param(
|
|
type: null
|
|
byRef: false
|
|
variadic: false
|
|
name: d
|
|
default: Expr_ClassConstFetch(
|
|
class: Name(
|
|
parts: array(
|
|
0: A
|
|
)
|
|
)
|
|
name: B
|
|
)
|
|
)
|
|
3: Param(
|
|
type: null
|
|
byRef: false
|
|
variadic: false
|
|
name: f
|
|
default: Expr_UnaryPlus(
|
|
expr: Scalar_LNumber(
|
|
value: 1
|
|
)
|
|
)
|
|
)
|
|
4: Param(
|
|
type: null
|
|
byRef: false
|
|
variadic: false
|
|
name: g
|
|
default: Expr_UnaryMinus(
|
|
expr: Scalar_DNumber(
|
|
value: 1
|
|
)
|
|
)
|
|
)
|
|
5: Param(
|
|
type: null
|
|
byRef: false
|
|
variadic: false
|
|
name: h
|
|
default: Expr_Array(
|
|
items: array(
|
|
)
|
|
)
|
|
)
|
|
6: Param(
|
|
type: null
|
|
byRef: false
|
|
variadic: false
|
|
name: i
|
|
default: Expr_Array(
|
|
items: array(
|
|
)
|
|
)
|
|
)
|
|
7: Param(
|
|
type: null
|
|
byRef: false
|
|
variadic: false
|
|
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
|
|
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(
|
|
)
|
|
)
|
|
)
|