src/Fixer/ClassNotation/NoPhp4ConstructorFixer.php
private function fixInfiniteRecursion(Tokens $tokens, $start, $end)
    {
        $seq = [
            [T_VARIABLE, '$this'],
            [T_OBJECT_OPERATOR],
            [T_STRING, '__construct'],
        ];

        while (true) {
            $callSeq = $tokens->findSequence($seq, $start, $end, [2 => false]);

            if (null === $callSeq) {
                return;
            }

            $callSeq = array_keys($callSeq);

            $tokens[$callSeq[0]] = new Token([T_STRING, 'parent']);
            $tokens[$callSeq[1]] = new Token([T_DOUBLE_COLON, '::']);
        }
    }
private function fixInfiniteRecursion(Tokens $tokens, $start, $end)
    {
        $seq = [
            [T_VARIABLE, '$this'],
            [T_OBJECT_OPERATOR],
            [T_STRING, '__construct'],
        ];

        while (true) {
            $callSeq = $tokens->findSequence($seq, $start, $end, [2 => false]);

            if (null === $callSeq) {
                return;
            }

            $callSeq = array_keys($callSeq);

            $tokens[$callSeq[0]] = new Token([T_STRING, 'parent']);
            $tokens[$callSeq[1]] = new Token([T_DOUBLE_COLON, '::']);
        }
    }
Fix a particular infinite recursion issue happening when the parent class has __construct and the child has only
a PHP4 constructor that calls the parent constructor as $this->__construct().

@param Tokens $tokens the Tokens instance
@param int    $start  the PHP4 constructor body start
@param int    $end    the PHP4 constructor body end