mirror of
https://github.com/danog/PHP-Parser.git
synced 2024-12-02 17:28:27 +01:00
146 lines
3.5 KiB
Plaintext
146 lines
3.5 KiB
Plaintext
Arrow Functions
|
|
-----
|
|
<?php
|
|
fn(bool $a) => $a;
|
|
fn($x = 42) => $x;
|
|
static fn(&$x) => $x;
|
|
fn&($x) => $x;
|
|
fn($x, ...$rest) => $rest;
|
|
fn(): int => $x;
|
|
-----
|
|
!!php7
|
|
array(
|
|
0: Stmt_Expression(
|
|
expr: Expr_ArrowFunction(
|
|
static: false
|
|
byRef: false
|
|
params: array(
|
|
0: Param(
|
|
type: Identifier(
|
|
name: bool
|
|
)
|
|
byRef: false
|
|
variadic: false
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
default: null
|
|
)
|
|
)
|
|
returnType: null
|
|
expr: Expr_Variable(
|
|
name: a
|
|
)
|
|
)
|
|
)
|
|
1: Stmt_Expression(
|
|
expr: Expr_ArrowFunction(
|
|
static: false
|
|
byRef: false
|
|
params: array(
|
|
0: Param(
|
|
type: null
|
|
byRef: false
|
|
variadic: false
|
|
var: Expr_Variable(
|
|
name: x
|
|
)
|
|
default: Scalar_LNumber(
|
|
value: 42
|
|
)
|
|
)
|
|
)
|
|
returnType: null
|
|
expr: Expr_Variable(
|
|
name: x
|
|
)
|
|
)
|
|
)
|
|
2: Stmt_Expression(
|
|
expr: Expr_ArrowFunction(
|
|
static: true
|
|
byRef: false
|
|
params: array(
|
|
0: Param(
|
|
type: null
|
|
byRef: true
|
|
variadic: false
|
|
var: Expr_Variable(
|
|
name: x
|
|
)
|
|
default: null
|
|
)
|
|
)
|
|
returnType: null
|
|
expr: Expr_Variable(
|
|
name: x
|
|
)
|
|
)
|
|
)
|
|
3: Stmt_Expression(
|
|
expr: Expr_ArrowFunction(
|
|
static: false
|
|
byRef: true
|
|
params: array(
|
|
0: Param(
|
|
type: null
|
|
byRef: false
|
|
variadic: false
|
|
var: Expr_Variable(
|
|
name: x
|
|
)
|
|
default: null
|
|
)
|
|
)
|
|
returnType: null
|
|
expr: Expr_Variable(
|
|
name: x
|
|
)
|
|
)
|
|
)
|
|
4: Stmt_Expression(
|
|
expr: Expr_ArrowFunction(
|
|
static: false
|
|
byRef: false
|
|
params: array(
|
|
0: Param(
|
|
type: null
|
|
byRef: false
|
|
variadic: false
|
|
var: Expr_Variable(
|
|
name: x
|
|
)
|
|
default: null
|
|
)
|
|
1: Param(
|
|
type: null
|
|
byRef: false
|
|
variadic: true
|
|
var: Expr_Variable(
|
|
name: rest
|
|
)
|
|
default: null
|
|
)
|
|
)
|
|
returnType: null
|
|
expr: Expr_Variable(
|
|
name: rest
|
|
)
|
|
)
|
|
)
|
|
5: Stmt_Expression(
|
|
expr: Expr_ArrowFunction(
|
|
static: false
|
|
byRef: false
|
|
params: array(
|
|
)
|
|
returnType: Identifier(
|
|
name: int
|
|
)
|
|
expr: Expr_Variable(
|
|
name: x
|
|
)
|
|
)
|
|
)
|
|
)
|