Skip to content

Commit d30498a

Browse files
committed
Differ as a service
1 parent d4fe552 commit d30498a

File tree

5 files changed

+10
-7
lines changed

5 files changed

+10
-7
lines changed

conf/services.neon

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,9 @@ services:
160160
-
161161
class: PHPStan\Rules\Properties\UninitializedPropertyRule
162162

163+
-
164+
class: SebastianBergmann\Diff\Differ
165+
163166
betterReflectionSourceLocator:
164167
class: PHPStan\BetterReflection\SourceLocator\Type\SourceLocator
165168
factory: @PHPStan\Reflection\BetterReflection\BetterReflectionSourceLocatorFactory::create

src/Analyser/RuleErrorTransformer.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ final class RuleErrorTransformer
3232

3333
public function __construct(
3434
private Parser $parser,
35+
private Differ $differ,
3536
)
3637
{
3738
}
@@ -128,9 +129,8 @@ public function transform(
128129

129130
$printer = new PhpPrinter(['indent' => str_repeat($indentDetector->indentCharacter, $indentDetector->indentSize)]);
130131
$newCode = $printer->printFormatPreserving($newStmts, $fileNodes, $oldTokens);
131-
$differ = new Differ();
132132

133-
$fixedErrorDiff = new FixedErrorDiff($hash, $differ->diffToArray($oldCode, $newCode));
133+
$fixedErrorDiff = new FixedErrorDiff($hash, $this->differ->diffToArray($oldCode, $newCode));
134134
}
135135

136136
return new Error(

src/Command/AnalyseCommand.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -534,7 +534,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
534534
$fixableErrorsByFile[$fixFile][] = $fixableError;
535535
}
536536

537-
$differ = new Differ();
537+
$differ = $container->getByType(Differ::class);
538538

539539
foreach ($fixableErrorsByFile as $file => $fileFixableErrors) {
540540
$fileContents = FileReader::read($file);

src/Testing/RuleTestCase.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ private function getAnalyser(DirectRuleRegistry $ruleRegistry): Analyser
120120
$this->getParser(),
121121
self::getContainer()->getByType(DependencyResolver::class),
122122
new IgnoreErrorExtensionProvider(self::getContainer()),
123-
new RuleErrorTransformer(self::getContainer()->getService('currentPhpVersionPhpParser')),
123+
self::getContainer()->getByType(RuleErrorTransformer::class),
124124
new LocalIgnoresProcessor(),
125125
);
126126
$this->analyser = new Analyser(
@@ -237,7 +237,7 @@ private function gatherAnalyserErrorsWithDelayedErrors(array $files): array
237237
$finalizer = new AnalyserResultFinalizer(
238238
$ruleRegistry,
239239
new IgnoreErrorExtensionProvider(self::getContainer()),
240-
new RuleErrorTransformer(self::getContainer()->getService('currentPhpVersionPhpParser')),
240+
self::getContainer()->getByType(RuleErrorTransformer::class),
241241
$this->createScopeFactory($reflectionProvider, $this->getTypeSpecifier()),
242242
new LocalIgnoresProcessor(),
243243
true,

tests/PHPStan/Analyser/AnalyserTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -670,7 +670,7 @@ private function runAnalyser(
670670
$finalizer = new AnalyserResultFinalizer(
671671
new DirectRuleRegistry([]),
672672
new IgnoreErrorExtensionProvider(new NetteContainer(new Container([]))),
673-
new RuleErrorTransformer(self::getContainer()->getService('currentPhpVersionPhpParser')),
673+
self::getContainer()->getByType(RuleErrorTransformer::class),
674674
$this->createScopeFactory(
675675
$this->createReflectionProvider(),
676676
self::getContainer()->getService('typeSpecifier'),
@@ -749,7 +749,7 @@ private function createAnalyser(): Analyser
749749
),
750750
new DependencyResolver($fileHelper, $reflectionProvider, new ExportedNodeResolver($reflectionProvider, $fileTypeMapper, new ExprPrinter(new Printer())), $fileTypeMapper),
751751
new IgnoreErrorExtensionProvider(new NetteContainer(new Container([]))),
752-
new RuleErrorTransformer(self::getContainer()->getService('currentPhpVersionPhpParser')),
752+
self::getContainer()->getByType(RuleErrorTransformer::class),
753753
new LocalIgnoresProcessor(),
754754
);
755755

0 commit comments

Comments
 (0)