mirror of
https://github.com/rectorphp/rector.git
synced 2025-03-14 04:19:44 +01:00
add Symfony\ExpressionLanguage
This commit is contained in:
parent
38443547ec
commit
9c2176739b
@ -18,6 +18,7 @@
|
||||
"sebastian/diff": "^3.0",
|
||||
"symfony/console": "^4.0",
|
||||
"symfony/dependency-injection": "^4.0",
|
||||
"symfony/expression-language": "^4.0",
|
||||
"symfony/finder": "^4.0",
|
||||
"symplify/package-builder": "^3.2"
|
||||
},
|
||||
|
@ -26,6 +26,7 @@ checkers:
|
||||
- 'Rector\BetterReflection\SourceLocator\Located\LocatedSource'
|
||||
- 'phpDocumentor\Reflection\Types\*'
|
||||
- 'Rector\Reporting\FileDiff'
|
||||
- 'Symfony\Component\ExpressionLanguage\*'
|
||||
|
||||
Symplify\CodingStandard\Fixer\Naming\PropertyNameMatchingTypeFixer:
|
||||
extra_skipped_classes:
|
||||
|
@ -6,6 +6,7 @@ use Rector\Rector\RectorCollector;
|
||||
use Rector\RectorBuilder\Contract\RectorProviderInterface;
|
||||
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\ExpressionLanguage\Expression;
|
||||
use Symplify\PackageBuilder\DependencyInjection\DefinitionFinder;
|
||||
|
||||
final class RectorProvidersCompilerPass implements CompilerPassInterface
|
||||
@ -15,8 +16,11 @@ final class RectorProvidersCompilerPass implements CompilerPassInterface
|
||||
$rectorCollectorDefinition = DefinitionFinder::getByType($containerBuilder, RectorCollector::class);
|
||||
$rectorProviderDefinitions = DefinitionFinder::findAllByType($containerBuilder, RectorProviderInterface::class);
|
||||
|
||||
// see https://symfony.com/doc/current/service_container/expression_language.html
|
||||
foreach ($rectorProviderDefinitions as $rectorProviderDefinition) {
|
||||
$methodCallArgument = sprintf("@=service('%s').provide()", $rectorProviderDefinition->getClass());
|
||||
$methodCallArgument = new Expression(
|
||||
sprintf('service("%s").provide()', $rectorProviderDefinition->getClass())
|
||||
);
|
||||
$rectorCollectorDefinition->addMethodCall('addRector', [$methodCallArgument]);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user