src/Tokenizer/Tokens.php
public function getTokenOfKindSibling($index, $direction, array $tokens = [], $caseSensitive = true)
    {
        if (!self::isLegacyMode()) {
            $tokens = array_filter($tokens, function ($token) {
                return $this->isTokenKindFound($this->extractTokenKind($token));
            });
        }

        if (!\count($tokens)) {
            return null;
        }

        while (true) {
            $index += $direction;

            if (!$this->offsetExists($index)) {
                return null;
            }

            $token = $this[$index];

            if ($token->equalsAny($tokens, $caseSensitive)) {
                return $index;
            }
        }
    }
public function getTokenOfKindSibling($index, $direction, array $tokens = [], $caseSensitive = true)
    {
        if (!self::isLegacyMode()) {
            $tokens = array_filter($tokens, function ($token) {
                return $this->isTokenKindFound($this->extractTokenKind($token));
            });
        }

        if (!\count($tokens)) {
            return null;
        }

        while (true) {
            $index += $direction;

            if (!$this->offsetExists($index)) {
                return null;
            }

            $token = $this[$index];

            if ($token->equalsAny($tokens, $caseSensitive)) {
                return $index;
            }
        }
    }
public function getTokenOfKindSibling ( $ index , $ direction , array $ tokens = [ ] , $ caseSensitive = true ) { if ( ! self :: isLegacyMode ( ) ) { $ tokens = array_filter ( $ tokens , function ( $ token ) { return $ this -> isTokenKindFound ( $ this -> extractTokenKind ( $ token ) ) ; } ) ; } if ( ! \ count ( $ tokens ) ) { return null ; } while ( true ) { $ index += $ direction ; if ( ! $ this -> offsetExists ( $ index ) ) { return null ; } $ token = $ this [ $ index ] ; if ( $ token -> equalsAny ( $ tokens , $ caseSensitive ) ) { return $ index ; } } }
Get index for closest sibling token of given kind.

@param int   $index         token index
@param int   $direction     direction for looking, +1 or -1
@param array $tokens        possible tokens
@param bool  $caseSensitive perform a case sensitive comparison

@return null|int
Get index for closest sibling token of given kind .