private function getLastNonDefaultArgumentIndex(Tokens $tokens, $startIndex, $endIndex)
    {
        for ($i = $endIndex - 1; $i > $startIndex; --$i) {
            $token = $tokens[$i];

            if ($token->equals('=')) {
                $i = $tokens->getPrevMeaningfulToken($i);

                continue;
            }

            if ($token->isGivenKind(T_VARIABLE) && !$this->isEllipsis($tokens, $i)) {
                return $i;
            }
        }
    }
private function getLastNonDefaultArgumentIndex(Tokens $tokens, $startIndex, $endIndex)
    {
        for ($i = $endIndex - 1; $i > $startIndex; --$i) {
            $token = $tokens[$i];

            if ($token->equals('=')) {
                $i = $tokens->getPrevMeaningfulToken($i);

                continue;
            }

            if ($token->isGivenKind(T_VARIABLE) && !$this->isEllipsis($tokens, $i)) {
                return $i;
            }
        }
    }
private function getLastNonDefaultArgumentIndex ( Tokens $ tokens , $ startIndex , $ endIndex ) { for ( $ i = $ endIndex - 1 ; $ i > $ startIndex ; -- $ i ) { $ token = $ tokens [ $ i ] ; if ( $ token -> equals ( '=' ) ) { $ i = $ tokens -> getPrevMeaningfulToken ( $ i ) ; continue ; } if ( $ token -> isGivenKind ( T_VARIABLE ) && ! $ this -> isEllipsis ( $ tokens , $ i ) ) { return $ i ; } } }
@param Tokens $tokens
@param int    $startIndex
@param int    $endIndex

@return null|int
@param Tokens $tokens @param int $startIndex @param int $endIndex