services(); $services->defaults() ->public() ->autowire() ->autoconfigure(); $services->load('Rector\Core\\', __DIR__ . '/../src') ->exclude([ __DIR__ . '/../src/Rector', __DIR__ . '/../src/RectorDefinition', __DIR__ . '/../src/Exception', __DIR__ . '/../src/DependencyInjection/CompilerPass', __DIR__ . '/../src/DependencyInjection/Loader', __DIR__ . '/../src/PhpParser/Builder', __DIR__ . '/../src/HttpKernel', __DIR__ . '/../src/ValueObject', __DIR__ . '/../src/Configuration/MinimalVersionChecker', __DIR__ . '/../src/Bootstrap', __DIR__ . '/../src/PhpParser/Node/CustomNode', // loaded for PHPStan factory __DIR__ . '/../src/PHPStan/Type', ]); $services->set(MinimalVersionChecker::class) ->autowire(false); $services->alias(SymfonyApplication::class, Application::class); $services->set(NoRectorsLoadedReporter::class); $services->set(TextDescriptor::class); $services->set(ParserFactory::class); $services->set(BuilderFactory::class); $services->set(CloningVisitor::class); $services->set(NodeFinder::class); $services->set(Parser::class) ->factory([ref(NikicPhpParserFactory::class), 'create']); $services->set(Lexer::class) ->factory([ref(PhpParserLexerFactory::class), 'create']); $services->set(Filesystem::class); $services->set(PrivatesAccessor::class); $services->set(PrivatesCaller::class); $services->set(FinderSanitizer::class); $services->set(FileSystemFilter::class); $services->set(ParameterProvider::class); $services->set(SmartFileSystem::class); $services->set(StringFormatConverter::class); $services->set(CiDetector::class); $services->alias(EventDispatcherInterface::class, AutowiredEventDispatcher::class); $services->set(SymfonyStyleFactory::class); $services->set(SymfonyStyle::class) ->factory([ref(SymfonyStyleFactory::class), 'create']); $services->set(InflectorFactory::class); $services->set(Inflector::class) ->factory([ref(InflectorFactory::class), 'build']); };