private function prepareArgumentInformation(Tokens $tokens, $start, $end)
    {
        $info = [
            'default' => '',
            'name' => '',
            'type' => '',
        ];

        $sawName = false;

        for ($index = $start; $index <= $end; ++$index) {
            $token = $tokens[$index];

            if ($token->isComment() || $token->isWhitespace()) {
                continue;
            }

            if ($token->isGivenKind(T_VARIABLE)) {
                $sawName = true;
                $info['name'] = $token->getContent();

                continue;
            }

            if ($token->equals('=')) {
                continue;
            }

            if ($sawName) {
                $info['default'] .= $token->getContent();
            } elseif ('&' !== $token->getContent()) {
                if ($token->isGivenKind(T_ELLIPSIS)) {
                    if ('' === $info['type']) {
                        $info['type'] = 'array';
                    } else {
                        $info['type'] .= '[]';
                    }
                } else {
                    $info['type'] .= $token->getContent();
                }
            }
        }

        return $info;
    }
private function prepareArgumentInformation(Tokens $tokens, $start, $end)
    {
        $info = [
            'default' => '',
            'name' => '',
            'type' => '',
        ];

        $sawName = false;

        for ($index = $start; $index <= $end; ++$index) {
            $token = $tokens[$index];

            if ($token->isComment() || $token->isWhitespace()) {
                continue;
            }

            if ($token->isGivenKind(T_VARIABLE)) {
                $sawName = true;
                $info['name'] = $token->getContent();

                continue;
            }

            if ($token->equals('=')) {
                continue;
            }

            if ($sawName) {
                $info['default'] .= $token->getContent();
            } elseif ('&' !== $token->getContent()) {
                if ($token->isGivenKind(T_ELLIPSIS)) {
                    if ('' === $info['type']) {
                        $info['type'] = 'array';
                    } else {
                        $info['type'] .= '[]';
                    }
                } else {
                    $info['type'] .= $token->getContent();
                }
            }
        }

        return $info;
    }
private function prepareArgumentInformation ( Tokens $ tokens , $ start , $ end ) { $ info = [ 'default' => '' , 'name' => '' , 'type' => '' , ] ; $ sawName = false ; for ( $ index = $ start ; $ index <= $ end ; ++ $ index ) { $ token = $ tokens [ $ index ] ; if ( $ token -> isComment ( ) || $ token -> isWhitespace ( ) ) { continue ; } if ( $ token -> isGivenKind ( T_VARIABLE ) ) { $ sawName = true ; $ info [ 'name' ] = $ token -> getContent ( ) ; continue ; } if ( $ token -> equals ( '=' ) ) { continue ; } if ( $ sawName ) { $ info [ 'default' ] .= $ token -> getContent ( ) ; } elseif ( '&' !== $ token -> getContent ( ) ) { if ( $ token -> isGivenKind ( T_ELLIPSIS ) ) { if ( '' === $ info [ 'type' ] ) { $ info [ 'type' ] = 'array' ; } else { $ info [ 'type' ] .= '[]' ; } } else { $ info [ 'type' ] .= $ token -> getContent ( ) ; } } } return $ info ; }
@param Tokens $tokens
@param int    $start
@param int    $end

@return array
@param Tokens $tokens @param int $start @param int $end