--- /dev/null
+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: test
+ params: array(
+ 0: Param(
+ type: null
+ byRef: false
+ variadic: false
+ name: a
+ default: null
+ )
+ 1: Param(
+ type: null
+ byRef: false
+ variadic: true
+ name: b
+ default: null
+ )
+ )
+ returnType: null
+ stmts: array(
+ )
+ )
+ 1: Stmt_Function(
+ byRef: false
+ name: test
+ params: array(
+ 0: Param(
+ type: null
+ byRef: false
+ variadic: false
+ name: a
+ default: null
+ )
+ 1: Param(
+ type: null
+ byRef: true
+ variadic: true
+ name: b
+ default: null
+ )
+ )
+ returnType: null
+ stmts: array(
+ )
+ )
+ 2: Stmt_Function(
+ byRef: false
+ name: test
+ params: array(
+ 0: Param(
+ type: null
+ byRef: false
+ variadic: false
+ name: a
+ default: null
+ )
+ 1: Param(
+ type: Name(
+ parts: array(
+ 0: Type
+ )
+ )
+ byRef: false
+ variadic: true
+ name: b
+ default: null
+ )
+ )
+ returnType: null
+ stmts: array(
+ )
+ )
+ 3: Stmt_Function(
+ byRef: false
+ name: test
+ params: array(
+ 0: Param(
+ type: null
+ byRef: false
+ variadic: false
+ name: a
+ default: null
+ )
+ 1: Param(
+ type: Name(
+ parts: array(
+ 0: Type
+ )
+ )
+ byRef: true
+ variadic: true
+ name: b
+ default: null
+ )
+ )
+ returnType: null
+ stmts: array(
+ )
+ )
+)