view vendor/nikic/php-parser/test/code/parser/stmt/function/variadic.test @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 5fb285c0d0e3
children
line wrap: on
line source
Variadic functions
-----
<?php
function test($a, ... $b) {}
function test($a, &... $b) {}
function test($a, Type ... $b) {}
function test($a, Type &... $b) {}
-----
array(
    0: Stmt_Function(
        byRef: false
        name: Identifier(
            name: test
        )
        params: array(
            0: Param(
                type: null
                byRef: false
                variadic: false
                var: Expr_Variable(
                    name: a
                )
                default: null
            )
            1: Param(
                type: null
                byRef: false
                variadic: true
                var: Expr_Variable(
                    name: b
                )
                default: null
            )
        )
        returnType: null
        stmts: array(
        )
    )
    1: Stmt_Function(
        byRef: false
        name: Identifier(
            name: test
        )
        params: array(
            0: Param(
                type: null
                byRef: false
                variadic: false
                var: Expr_Variable(
                    name: a
                )
                default: null
            )
            1: Param(
                type: null
                byRef: true
                variadic: true
                var: Expr_Variable(
                    name: b
                )
                default: null
            )
        )
        returnType: null
        stmts: array(
        )
    )
    2: Stmt_Function(
        byRef: false
        name: Identifier(
            name: test
        )
        params: array(
            0: Param(
                type: null
                byRef: false
                variadic: false
                var: Expr_Variable(
                    name: a
                )
                default: null
            )
            1: Param(
                type: Name(
                    parts: array(
                        0: Type
                    )
                )
                byRef: false
                variadic: true
                var: Expr_Variable(
                    name: b
                )
                default: null
            )
        )
        returnType: null
        stmts: array(
        )
    )
    3: Stmt_Function(
        byRef: false
        name: Identifier(
            name: test
        )
        params: array(
            0: Param(
                type: null
                byRef: false
                variadic: false
                var: Expr_Variable(
                    name: a
                )
                default: null
            )
            1: Param(
                type: Name(
                    parts: array(
                        0: Type
                    )
                )
                byRef: true
                variadic: true
                var: Expr_Variable(
                    name: b
                )
                default: null
            )
        )
        returnType: null
        stmts: array(
        )
    )
)