rector/vendor/rector/rector-symfony/src/DataProvider/ServiceMapProvider.php
Tomas Votruba 4e3847e1bc Updated Rector to commit 3c07468691132d0246e55627495a1e7d4cd76a8d
3c07468691 [DX] Localize few PackageBuilder classes (#2884)
2022-09-01 19:50:06 +00:00

39 lines
1.3 KiB
PHP

<?php
declare (strict_types=1);
namespace Rector\Symfony\DataProvider;
use Rector\Core\Configuration\Option;
use Rector\Symfony\ValueObject\ServiceMap\ServiceMap;
use Rector\Symfony\ValueObjectFactory\ServiceMapFactory;
use Rector\Core\Configuration\Parameter\ParameterProvider;
/**
* Inspired by https://github.com/phpstan/phpstan-symfony/tree/master/src/Symfony
*/
final class ServiceMapProvider
{
/**
* @readonly
* @var \Rector\Core\Configuration\Parameter\ParameterProvider
*/
private $parameterProvider;
/**
* @readonly
* @var \Rector\Symfony\ValueObjectFactory\ServiceMapFactory
*/
private $serviceMapFactory;
public function __construct(ParameterProvider $parameterProvider, ServiceMapFactory $serviceMapFactory)
{
$this->parameterProvider = $parameterProvider;
$this->serviceMapFactory = $serviceMapFactory;
}
public function provide() : ServiceMap
{
$symfonyContainerXmlPath = (string) $this->parameterProvider->provideParameter(Option::SYMFONY_CONTAINER_XML_PATH_PARAMETER);
if ($symfonyContainerXmlPath === '') {
return $this->serviceMapFactory->createEmpty();
}
return $this->serviceMapFactory->createFromFileContent($symfonyContainerXmlPath);
}
}