protected function applyFix(\SplFileInfo $file, Tokens $tokens)
    {
        $importedOriginalClassesMap = [];
        $currIndex = 0;

        while (null !== $currIndex) {
            $currIndex = $tokens->getNextTokenOfKind($currIndex, [[T_STRING]]);

            if (null === $currIndex) {
                break;
            }

            $originalClass = $tokens[$currIndex]->getContent();

            if (1 !== Preg::match($this->originalClassRegEx, $originalClass)) {
                ++$currIndex;

                continue;
            }

            $substituteTokens = $this->generateReplacement($originalClass);

            $tokens->clearAt($currIndex);
            $tokens->insertAt(
                $currIndex,
                isset($importedOriginalClassesMap[$originalClass]) ? $substituteTokens[$substituteTokens->getSize() - 1] : $substituteTokens
            );

            $prevIndex = $tokens->getPrevMeaningfulToken($currIndex);
            if ($tokens[$prevIndex]->isGivenKind(T_USE)) {
                $importedOriginalClassesMap[$originalClass] = true;
            } elseif ($tokens[$prevIndex]->isGivenKind(T_NS_SEPARATOR)) {
                $prevIndex = $tokens->getPrevMeaningfulToken($prevIndex);

                if ($tokens[$prevIndex]->isGivenKind(T_USE)) {
                    $importedOriginalClassesMap[$originalClass] = true;
                }
            }
        }
    }
protected function applyFix(\SplFileInfo $file, Tokens $tokens)
    {
        $importedOriginalClassesMap = [];
        $currIndex = 0;

        while (null !== $currIndex) {
            $currIndex = $tokens->getNextTokenOfKind($currIndex, [[T_STRING]]);

            if (null === $currIndex) {
                break;
            }

            $originalClass = $tokens[$currIndex]->getContent();

            if (1 !== Preg::match($this->originalClassRegEx, $originalClass)) {
                ++$currIndex;

                continue;
            }

            $substituteTokens = $this->generateReplacement($originalClass);

            $tokens->clearAt($currIndex);
            $tokens->insertAt(
                $currIndex,
                isset($importedOriginalClassesMap[$originalClass]) ? $substituteTokens[$substituteTokens->getSize() - 1] : $substituteTokens
            );

            $prevIndex = $tokens->getPrevMeaningfulToken($currIndex);
            if ($tokens[$prevIndex]->isGivenKind(T_USE)) {
                $importedOriginalClassesMap[$originalClass] = true;
            } elseif ($tokens[$prevIndex]->isGivenKind(T_NS_SEPARATOR)) {
                $prevIndex = $tokens->getPrevMeaningfulToken($prevIndex);

                if ($tokens[$prevIndex]->isGivenKind(T_USE)) {
                    $importedOriginalClassesMap[$originalClass] = true;
                }
            }
        }
    }
protected function applyFix ( \ SplFileInfo $ file , Tokens $ tokens ) { $ importedOriginalClassesMap = [ ] ; $ currIndex = 0 ; while ( null !== $ currIndex ) { $ currIndex = $ tokens -> getNextTokenOfKind ( $ currIndex , [ [ T_STRING ] ] ) ; if ( null === $ currIndex ) { break ; } $ originalClass = $ tokens [ $ currIndex ] -> getContent ( ) ; if ( 1 !== Preg :: match ( $ this -> originalClassRegEx , $ originalClass ) ) { ++ $ currIndex ; continue ; } $ substituteTokens = $ this -> generateReplacement ( $ originalClass ) ; $ tokens -> clearAt ( $ currIndex ) ; $ tokens -> insertAt ( $ currIndex , isset ( $ importedOriginalClassesMap [ $ originalClass ] ) ? $ substituteTokens [ $ substituteTokens -> getSize ( ) - 1 ] : $ substituteTokens ) ; $ prevIndex = $ tokens -> getPrevMeaningfulToken ( $ currIndex ) ; if ( $ tokens [ $ prevIndex ] -> isGivenKind ( T_USE ) ) { $ importedOriginalClassesMap [ $ originalClass ] = true ; } elseif ( $ tokens [ $ prevIndex ] -> isGivenKind ( T_NS_SEPARATOR ) ) { $ prevIndex = $ tokens -> getPrevMeaningfulToken ( $ prevIndex ) ; if ( $ tokens [ $ prevIndex ] -> isGivenKind ( T_USE ) ) { $ importedOriginalClassesMap [ $ originalClass ] = true ; } } } }
{@inheritdoc}
{