opt
/
cpanel
/
ea-wappspector
/
vendor
/
rector
/
rector
/
src
/
ChangesReporting
/
ValueObjectFactory
➕ New
📤 Upload
✎ Editing:
FileDiffFactory.php
← Back
<?php declare (strict_types=1); namespace Rector\ChangesReporting\ValueObjectFactory; use Rector\ChangesReporting\ValueObject\RectorWithLineChange; use Rector\Console\Formatter\ConsoleDiffer; use Rector\Differ\DefaultDiffer; use Rector\FileSystem\FilePathHelper; use Rector\ValueObject\Application\File; use Rector\ValueObject\Reporting\FileDiff; final class FileDiffFactory { /** * @readonly * @var \Rector\Differ\DefaultDiffer */ private $defaultDiffer; /** * @readonly * @var \Rector\Console\Formatter\ConsoleDiffer */ private $consoleDiffer; /** * @readonly * @var \Rector\FileSystem\FilePathHelper */ private $filePathHelper; public function __construct(DefaultDiffer $defaultDiffer, ConsoleDiffer $consoleDiffer, FilePathHelper $filePathHelper) { $this->defaultDiffer = $defaultDiffer; $this->consoleDiffer = $consoleDiffer; $this->filePathHelper = $filePathHelper; } /** * @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()); } }
💾 Save Changes
Cancel
📤 Upload File
×
Select File
Upload
Cancel
➕ Create New
×
Type
📄 File
📁 Folder
Name
Create
Cancel
✎ Rename Item
×
Current Name
New Name
Rename
Cancel
🔐 Change Permissions
×
Target File
Permission (e.g., 0755, 0644)
0755
0644
0777
Apply
Cancel