defaultDiffer = $defaultDiffer; $this->consoleDiffer = $consoleDiffer; $this->filePathHelper = $filePathHelper; } public function createFileDiff(File $file, string $oldContent, string $newContent) : FileDiff { return $this->createFileDiffWithLineChanges($file, $oldContent, $newContent, $file->getRectorWithLineChanges()); } /** * @param RectorWithLineChange[] $rectorsWithLineChanges */ public function createFileDiffWithLineChanges(File $file, string $oldContent, string $newContent, array $rectorsWithLineChanges) : FileDiff { $relativeFilePath = $this->filePathHelper->relativePath($file->getFilePath()); // always keep the most recent diff return new FileDiff($relativeFilePath, $this->defaultDiffer->diff($oldContent, $newContent), $this->consoleDiffer->diff($oldContent, $newContent), $rectorsWithLineChanges); } public function createTempFileDiff(File $file) : FileDiff { return $this->createFileDiffWithLineChanges($file, '', '', $file->getRectorWithLineChanges()); } }