code: 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, '::']);
          }
      }
docs: 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