diff --git a/build/config/phpstan-for-downgrade.neon b/build/config/phpstan-for-downgrade.neon index 4ddd4a23e51..b3c3d93f88f 100644 --- a/build/config/phpstan-for-downgrade.neon +++ b/build/config/phpstan-for-downgrade.neon @@ -1,6 +1,3 @@ -includes: - - phar://vendor/phpstan/phpstan/phpstan.phar/conf/bleedingEdge.neon - # this config has extensions, that helps PHPStan inside Rector to resolve more precise types parameters: inferPrivatePropertyTypeFromConstructor: true diff --git a/packages-tests/NodeTypeResolver/DependencyInjection/BleedingEdgeIncludePurifier/BleedingEdgeIncludePurifierTest.php b/packages-tests/NodeTypeResolver/DependencyInjection/BleedingEdgeIncludePurifier/BleedingEdgeIncludePurifierTest.php deleted file mode 100644 index 70f97f58893..00000000000 --- a/packages-tests/NodeTypeResolver/DependencyInjection/BleedingEdgeIncludePurifier/BleedingEdgeIncludePurifierTest.php +++ /dev/null @@ -1,42 +0,0 @@ -bleedingEdgeIncludePurifier = $this->make(BleedingEdgeIncludePurifier::class); - } - - public function testNothing(): void - { - $purifiedConfigFilePath = $this->bleedingEdgeIncludePurifier->purifyConfigFile( - __DIR__ . '/Fixture/no_bleeding_edge.neon' - ); - $this->assertNull($purifiedConfigFilePath); - } - - public function test(): void - { - $purifiedConfigFilePath = $this->bleedingEdgeIncludePurifier->purifyConfigFile( - __DIR__ . '/Fixture/some_file_including.neon' - ); - - $this->assertNotNull($purifiedConfigFilePath); - $this->assertNotEmpty($purifiedConfigFilePath); - - $this->assertFileEquals(__DIR__ . '/Expected/some_file_including.neon', $purifiedConfigFilePath); - - // cleanup after yourself :) - FileSystem::delete($purifiedConfigFilePath); - } -} diff --git a/packages-tests/NodeTypeResolver/DependencyInjection/BleedingEdgeIncludePurifier/Expected/some_file_including.neon b/packages-tests/NodeTypeResolver/DependencyInjection/BleedingEdgeIncludePurifier/Expected/some_file_including.neon deleted file mode 100644 index 70f5d904b66..00000000000 --- a/packages-tests/NodeTypeResolver/DependencyInjection/BleedingEdgeIncludePurifier/Expected/some_file_including.neon +++ /dev/null @@ -1,4 +0,0 @@ -includes: - -parameters: - one: two diff --git a/packages-tests/NodeTypeResolver/DependencyInjection/BleedingEdgeIncludePurifier/Fixture/no_bleeding_edge.neon b/packages-tests/NodeTypeResolver/DependencyInjection/BleedingEdgeIncludePurifier/Fixture/no_bleeding_edge.neon deleted file mode 100644 index db65a72428c..00000000000 --- a/packages-tests/NodeTypeResolver/DependencyInjection/BleedingEdgeIncludePurifier/Fixture/no_bleeding_edge.neon +++ /dev/null @@ -1,2 +0,0 @@ -parameters: - one: two diff --git a/packages-tests/NodeTypeResolver/DependencyInjection/BleedingEdgeIncludePurifier/Fixture/some_file_including.neon b/packages-tests/NodeTypeResolver/DependencyInjection/BleedingEdgeIncludePurifier/Fixture/some_file_including.neon deleted file mode 100644 index 1e38d87fcb2..00000000000 --- a/packages-tests/NodeTypeResolver/DependencyInjection/BleedingEdgeIncludePurifier/Fixture/some_file_including.neon +++ /dev/null @@ -1,5 +0,0 @@ -includes: - - %rootDir%/conf/bleedingEdge.neon - -parameters: - one: two diff --git a/packages/Config/RectorConfig.php b/packages/Config/RectorConfig.php index a72604ccec0..8b3cb51e1e3 100644 --- a/packages/Config/RectorConfig.php +++ b/packages/Config/RectorConfig.php @@ -336,6 +336,11 @@ public function services(): void ); } + public function resetRuleConfigurations(): void + { + $this->ruleConfigurations = []; + } + private function importFile(string $filePath): void { Assert::fileExists($filePath); @@ -412,9 +417,4 @@ private function ensureNotDuplicatedClasses(array $rectorClasses): void $duplicatedRectorClasses )); } - - public function resetRuleConfigurations(): void - { - $this->ruleConfigurations = []; - } } diff --git a/packages/NodeTypeResolver/DependencyInjection/BleedingEdgeIncludePurifier.php b/packages/NodeTypeResolver/DependencyInjection/BleedingEdgeIncludePurifier.php deleted file mode 100644 index 7d206ab4f61..00000000000 --- a/packages/NodeTypeResolver/DependencyInjection/BleedingEdgeIncludePurifier.php +++ /dev/null @@ -1,60 +0,0 @@ -createTemporaryFilePath($filePath); - - $clearedFileContents = Strings::replace($fileContents, self::BLEEDING_EDGE_REGEX); - FileSystem::write($temporaryFilePath, $clearedFileContents); - - return $temporaryFilePath; - } - - private function createTemporaryFilePath(string $filePath): string - { - $fileDirectory = dirname($filePath); - $baseFileName = pathinfo($filePath, PATHINFO_BASENAME); - - $randomBytes = random_bytes(10); - $randomString = bin2hex($randomBytes); - return $fileDirectory . '/temp_' . $randomString . '_' . $baseFileName; - } -} diff --git a/packages/NodeTypeResolver/DependencyInjection/PHPStanServicesFactory.php b/packages/NodeTypeResolver/DependencyInjection/PHPStanServicesFactory.php index fa06a5cf7e3..bc15a82a120 100644 --- a/packages/NodeTypeResolver/DependencyInjection/PHPStanServicesFactory.php +++ b/packages/NodeTypeResolver/DependencyInjection/PHPStanServicesFactory.php @@ -16,7 +16,6 @@ use Rector\Core\Configuration\Option; use Rector\Core\Configuration\Parameter\SimpleParameterProvider; use Rector\NodeTypeResolver\Reflection\BetterReflection\SourceLocatorProvider\DynamicSourceLocatorProvider; -use Symfony\Component\Filesystem\Filesystem; use Webmozart\Assert\Assert; /** @@ -29,34 +28,15 @@ final class PHPStanServicesFactory private readonly Container $container; public function __construct( - BleedingEdgeIncludePurifier $bleedingEdgeIncludePurifier, ) { + $containerFactory = new ContainerFactory(getcwd()); $additionalConfigFiles = $this->resolveAdditionalConfigFiles(); - $purifiedConfigFiles = []; - - foreach ($additionalConfigFiles as $key => $additionalConfigFile) { - $purifiedConfigFile = $bleedingEdgeIncludePurifier->purifyConfigFile($additionalConfigFile); - - // nothing was changed - if ($purifiedConfigFile === null) { - continue; - } - - $additionalConfigFiles[$key] = $purifiedConfigFile; - $purifiedConfigFiles[] = $purifiedConfigFile; - } - - $containerFactory = new ContainerFactory(getcwd()); $this->container = $containerFactory->create( SimpleParameterProvider::provideStringParameter(Option::CONTAINER_CACHE_DIRECTORY), $additionalConfigFiles, [] ); - - // clear temporary files, after container is created - $filesystem = new Filesystem(); - $filesystem->remove($purifiedConfigFiles); } /** diff --git a/packages/NodeTypeResolver/NodeTypeResolver/StaticCallMethodCallTypeResolver.php b/packages/NodeTypeResolver/NodeTypeResolver/StaticCallMethodCallTypeResolver.php index 7fc9b0183bb..c85a1537caa 100644 --- a/packages/NodeTypeResolver/NodeTypeResolver/StaticCallMethodCallTypeResolver.php +++ b/packages/NodeTypeResolver/NodeTypeResolver/StaticCallMethodCallTypeResolver.php @@ -72,8 +72,8 @@ public function resolve(Node $node): Type $callerType = $this->nodeTypeResolver->getType($node->class); } - foreach ($callerType->getObjectClassReflections() as $classReflection) { - $classMethodReturnType = $this->resolveClassMethodReturnType($classReflection, $node, $methodName, $scope); + foreach ($callerType->getObjectClassReflections() as $objectClassReflection) { + $classMethodReturnType = $this->resolveClassMethodReturnType($objectClassReflection, $node, $methodName, $scope); if (! $classMethodReturnType instanceof MixedType) { return $classMethodReturnType; } diff --git a/tests/Issues/EmptyLongArraySyntax/config/configured_rule.php b/tests/Issues/EmptyLongArraySyntax/config/configured_rule.php index 24bdbcd77b9..e605d347f9a 100644 --- a/tests/Issues/EmptyLongArraySyntax/config/configured_rule.php +++ b/tests/Issues/EmptyLongArraySyntax/config/configured_rule.php @@ -7,8 +7,5 @@ use Rector\Php80\Rector\ClassMethod\AddParamBasedOnParentClassMethodRector; return static function (RectorConfig $rectorConfig): void { - $rectorConfig->rules([ - SensitiveConstantNameRector::class, - AddParamBasedOnParentClassMethodRector::class, - ]); + $rectorConfig->rules([SensitiveConstantNameRector::class, AddParamBasedOnParentClassMethodRector::class]); };