HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/meuwis/lmbm.be/vendor/nikic/php-parser/test/code/parser/expr/arrow_function.test
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
            )
        )
    )
)