mirror of
https://github.com/danog/PHP-Parser.git
synced 2024-12-03 01:38:03 +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
|
||
|
)
|
||
|
)
|
||
|
)
|
||
|
)
|