/**
* @param string $sep
* @param int $flags
- * @param string|PPNode $args,...
+ * @param string|PPNode ...$args
* @return string
*/
- public function implodeWithFlags( $sep, $flags /*, ... */ ) {
- $args = array_slice( func_get_args(), 2 );
-
+ public function implodeWithFlags( $sep, $flags, ...$args ) {
$first = true;
$s = '';
foreach ( $args as $root ) {
* Implode with no flags specified
* This previously called implodeWithFlags but has now been inlined to reduce stack depth
* @param string $sep
- * @param string|PPNode $args,...
+ * @param string|PPNode ...$args
* @return string
*/
- public function implode( $sep /*, ... */ ) {
- $args = array_slice( func_get_args(), 1 );
-
+ public function implode( $sep, ...$args ) {
$first = true;
$s = '';
foreach ( $args as $root ) {
* with implode()
*
* @param string $sep
- * @param string|PPNode $args,...
+ * @param string|PPNode ...$args
* @return PPNode_Hash_Array
*/
- public function virtualImplode( $sep /*, ... */ ) {
- $args = array_slice( func_get_args(), 1 );
+ public function virtualImplode( $sep, ...$args ) {
$out = [];
$first = true;
* @param string $start
* @param string $sep
* @param string $end
- * @param string|PPNode $args,...
+ * @param string|PPNode ...$args
* @return PPNode_Hash_Array
*/
- public function virtualBracketedImplode( $start, $sep, $end /*, ... */ ) {
- $args = array_slice( func_get_args(), 3 );
+ public function virtualBracketedImplode( $start, $sep, $end, ...$args ) {
$out = [ $start ];
$first = true;
* @return string|bool
*/
public function getArgument( $index ) {
- if ( !isset( $this->args[$index] ) ) {
- return false;
- }
- return $this->args[$index];
+ return $this->args[$index] ?? false;
}
public function getArguments() {
*
* @param array $store
* @param int $index
- * @return PPNode_Hash_Tree|PPNode_Hash_Attr|PPNode_Hash_Text
+ * @return PPNode_Hash_Tree|PPNode_Hash_Attr|PPNode_Hash_Text|false
+ * @throws MWException
*/
public static function factory( array $store, $index ) {
if ( !isset( $store[$index] ) ) {
/**
* Convert a node to XML, for debugging
+ * @return string
*/
public function __toString() {
$inner = '';