1
0
mirror of https://github.com/danog/PHP-Parser.git synced 2024-12-11 08:59:46 +01:00
PHP-Parser/test/code/parser/stmt/function/defaultValues.test
Nikita Popov 3ad0d4b310 Add support for return type declarations [PHP 7]
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.
2015-03-12 22:16:12 +01:00

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(
)
)
)