diff --git a/.github/workflows/code_analysis.yaml b/.github/workflows/code_analysis.yaml index 6d10909705d..195a1a60f42 100644 --- a/.github/workflows/code_analysis.yaml +++ b/.github/workflows/code_analysis.yaml @@ -53,7 +53,7 @@ jobs: - name: 'Active Classes' run: | - vendor/bin/class-leak check bin config src rules utils --skip-suffix "Rector" --skip-type="Rector\\Utils\\Compiler\\Unprefixer" --skip-type="Rector\\NodeCollector\\BinaryOpConditionsCollector" --skip-type="Rector\\Set\\Contract\\SetListInterface" --skip-type="Rector\\DependencyInjection\\PHPStan\\RichParserFactory" --skip-type="Rector\\Utils\\PHPStan\\Tests\\Rule\\SingleServiceRegistrationRule\\Source\\DuplicateRegistrationFactory" --skip-type="Rector\\Utils\\PHPStan\\Tests\\Rule\\SingleServiceRegistrationRule\\Source\\SingleRegistrationFactory" --skip-type="Rector\\ChangesReporting\\Contract\\Output\\OutputFormatterInterface" --skip-type="Rector\\NodeTypeResolver\\Contract\\NodeTypeResolverInterface" --skip-type="Rector\\CodingStyle\\Contract\\ClassNameImport\\ClassNameImportSkipVoterInterface" --skip-type="Rector\\Php80\\Contract\\ConverterAttributeDecoratorInterface" + vendor/bin/class-leak check bin config src rules utils --skip-suffix "Rector" --skip-type="Rector\\Utils\\Compiler\\Unprefixer" --skip-type="Rector\\NodeCollector\\BinaryOpConditionsCollector" --skip-type="Rector\\Set\\Contract\\SetListInterface" --skip-type="Rector\\DependencyInjection\\PHPStan\\RichParserFactory" --skip-type="Rector\\Utils\\PHPStan\\Tests\\Rule\\SingleServiceRegistrationRule\\Source\\DuplicateRegistrationFactory" --skip-type="Rector\\Utils\\PHPStan\\Tests\\Rule\\SingleServiceRegistrationRule\\Source\\SingleRegistrationFactory" --skip-type="Rector\\ChangesReporting\\Contract\\Output\\OutputFormatterInterface" --skip-type="Rector\\NodeTypeResolver\\Contract\\NodeTypeResolverInterface" --skip-type="Rector\\CodingStyle\\Contract\\ClassNameImport\\ClassNameImportSkipVoterInterface" --skip-type="Rector\\Php80\\Contract\\ConverterAttributeDecoratorInterface" --skip-type="Rector\\NodeNameResolver\\Contract\\NodeNameResolverInterface" --skip-type="Rector\\StaticTypeMapper\\Contract\\PhpDocParser\\PhpDocTypeMapperInterface" - name: 'Compatible PHPStan versions' diff --git a/src/DependencyInjection/LazyContainerFactory.php b/src/DependencyInjection/LazyContainerFactory.php index dec126b7586..3ca32b36378 100644 --- a/src/DependencyInjection/LazyContainerFactory.php +++ b/src/DependencyInjection/LazyContainerFactory.php @@ -47,18 +47,7 @@ use Rector\Console\Style\SymfonyStyleFactory; use Rector\Contract\PhpParser\DecoratingNodeVisitorInterface; use Rector\NodeDecorator\CreatedByRuleDecorator; -use Rector\NodeNameResolver\Contract\NodeNameResolverInterface; use Rector\NodeNameResolver\NodeNameResolver; -use Rector\NodeNameResolver\NodeNameResolver\ClassConstFetchNameResolver; -use Rector\NodeNameResolver\NodeNameResolver\ClassConstNameResolver; -use Rector\NodeNameResolver\NodeNameResolver\ClassNameResolver; -use Rector\NodeNameResolver\NodeNameResolver\FuncCallNameResolver; -use Rector\NodeNameResolver\NodeNameResolver\FunctionNameResolver; -use Rector\NodeNameResolver\NodeNameResolver\NameNameResolver; -use Rector\NodeNameResolver\NodeNameResolver\ParamNameResolver; -use Rector\NodeNameResolver\NodeNameResolver\PropertyNameResolver; -use Rector\NodeNameResolver\NodeNameResolver\UseNameResolver; -use Rector\NodeNameResolver\NodeNameResolver\VariableNameResolver; use Rector\NodeTypeResolver\DependencyInjection\PHPStanServicesFactory; use Rector\NodeTypeResolver\NodeTypeResolver; use Rector\NodeTypeResolver\Reflection\BetterReflection\SourceLocatorProvider\DynamicSourceLocatorProvider; @@ -125,12 +114,7 @@ use Rector\Rector\AbstractRector; use Rector\Skipper\Skipper\Skipper; use Rector\Skipper\Skipper\UsedSkipCollector; -use Rector\StaticTypeMapper\Contract\PhpDocParser\PhpDocTypeMapperInterface; use Rector\StaticTypeMapper\Contract\PhpParser\PhpParserNodeMapperInterface; -use Rector\StaticTypeMapper\PhpDocParser\IdentifierPhpDocTypeMapper; -use Rector\StaticTypeMapper\PhpDocParser\IntersectionPhpDocTypeMapper; -use Rector\StaticTypeMapper\PhpDocParser\NullablePhpDocTypeMapper; -use Rector\StaticTypeMapper\PhpDocParser\UnionPhpDocTypeMapper; use Rector\StaticTypeMapper\PhpParser\ExprNodeMapper; use Rector\StaticTypeMapper\PhpParser\FullyQualifiedNodeMapper; use Rector\StaticTypeMapper\PhpParser\IdentifierNodeMapper; @@ -145,22 +129,6 @@ final class LazyContainerFactory { - /** - * @var array> - */ - private const array NODE_NAME_RESOLVER_CLASSES = [ - ClassConstFetchNameResolver::class, - ClassConstNameResolver::class, - ClassNameResolver::class, - FuncCallNameResolver::class, - FunctionNameResolver::class, - NameNameResolver::class, - ParamNameResolver::class, - PropertyNameResolver::class, - UseNameResolver::class, - VariableNameResolver::class, - ]; - /** * @var array> */ @@ -207,16 +175,6 @@ final class LazyContainerFactory ArgNotAcceptingClosureNodeVisitor::class, ]; - /** - * @var array> - */ - private const array PHPDOC_TYPE_MAPPER_CLASSES = [ - IdentifierPhpDocTypeMapper::class, - IntersectionPhpDocTypeMapper::class, - NullablePhpDocTypeMapper::class, - UnionPhpDocTypeMapper::class, - ]; - /** * @var array> */ @@ -462,8 +420,8 @@ private function registerTaggedServices(RectorConfig $rectorConfig): void ); $this->registerTagged($rectorConfig, self::TYPE_MAPPER_CLASSES, TypeMapperInterface::class); - $this->registerTagged($rectorConfig, self::PHPDOC_TYPE_MAPPER_CLASSES, PhpDocTypeMapperInterface::class); - $this->registerTagged($rectorConfig, self::NODE_NAME_RESOLVER_CLASSES, NodeNameResolverInterface::class); + $rectorConfig->autodiscover(__DIR__ . '/../StaticTypeMapper/PhpDocParser'); + $rectorConfig->autodiscover(__DIR__ . '/../NodeNameResolver/NodeNameResolver'); $rectorConfig->autodiscover(__DIR__ . '/../NodeTypeResolver/NodeTypeResolver'); $rectorConfig->autodiscover(__DIR__ . '/../ChangesReporting/Output'); $rectorConfig->autodiscover(__DIR__ . '/../../rules/CodingStyle/ClassNameImport/ClassNameImportSkipVoter');