Viewing File: /home/ubuntu/code_review/arcanist/src/parser/xhpast/__tests__/data/variadic.php.test
<?php
function a(...$a) { }
function b(&...$a) { }
function c(Type ...$a) { }
function d(Type &...$a) { }
a(...[1, 2, 3]);
b(...$foo);
~~~~~~~~~~
pass
~~~~~~~~~~
* n_PROGRAM
* n_STATEMENT_LIST
* n_OPEN_TAG
> <?php
> "\n\n"
* n_STATEMENT
* n_FUNCTION_DECLARATION
* n_EMPTY
* n_EMPTY
* n_STRING
> a
* n_DECLARATION_PARAMETER_LIST
> (
* n_DECLARATION_PARAMETER
* n_EMPTY
* n_UNPACK
> ...
* n_VARIABLE
> $a
* n_EMPTY
> )
* n_EMPTY
* n_EMPTY
* n_STATEMENT_LIST
> {
> " "
> }
> "\n\n"
* n_STATEMENT
* n_FUNCTION_DECLARATION
* n_EMPTY
* n_EMPTY
* n_STRING
> b
* n_DECLARATION_PARAMETER_LIST
> (
* n_DECLARATION_PARAMETER
* n_EMPTY
* n_VARIABLE_REFERENCE
> &
* n_UNPACK
> ...
* n_VARIABLE
> $a
* n_EMPTY
> ...
> $a
> )
* n_EMPTY
* n_EMPTY
* n_STATEMENT_LIST
> {
> " "
> }
> "\n\n"
* n_STATEMENT
* n_FUNCTION_DECLARATION
* n_EMPTY
* n_EMPTY
* n_STRING
> c
* n_DECLARATION_PARAMETER_LIST
> (
* n_DECLARATION_PARAMETER
* n_CLASS_NAME
> Type
> " "
* n_UNPACK
> ...
* n_VARIABLE
> $a
* n_EMPTY
> )
* n_EMPTY
* n_EMPTY
* n_STATEMENT_LIST
> {
> " "
> }
> "\n\n"
* n_STATEMENT
* n_FUNCTION_DECLARATION
* n_EMPTY
* n_EMPTY
* n_STRING
> d
* n_DECLARATION_PARAMETER_LIST
> (
* n_DECLARATION_PARAMETER
* n_CLASS_NAME
> Type
> " "
* n_VARIABLE_REFERENCE
> &
* n_UNPACK
> ...
* n_VARIABLE
> $a
* n_EMPTY
> ...
> $a
> )
* n_EMPTY
* n_EMPTY
* n_STATEMENT_LIST
> {
> " "
> }
> "\n\n"
* n_STATEMENT
* n_FUNCTION_CALL
* n_SYMBOL_NAME
> a
* n_CALL_PARAMETER_LIST
> (
* n_UNPACK
> ...
* n_ARRAY_LITERAL
* n_ARRAY_VALUE_LIST
> [
* n_ARRAY_VALUE
* n_EMPTY
* n_NUMERIC_SCALAR
> 1
> ,
> " "
* n_ARRAY_VALUE
* n_EMPTY
* n_NUMERIC_SCALAR
> 2
> ,
> " "
* n_ARRAY_VALUE
* n_EMPTY
* n_NUMERIC_SCALAR
> 3
> ]
> )
> ;
> "\n\n"
* n_STATEMENT
* n_FUNCTION_CALL
* n_SYMBOL_NAME
> b
* n_CALL_PARAMETER_LIST
> (
* n_UNPACK
> ...
* n_VARIABLE
> $foo
> )
> ;
> "\n\n"
Back to Directory
File Manager