rector/config/set/doctrine25.php
Tomas Votruba 0993088cda
[SymfonyPhpConfig] Use Symplify package instead + simplify set validation (#4694)
* [SymfonyPhpConfig] Use Symplify package instead

* [SymfonyPhpConfig] Drop forgotten custom-jobs Rectors

* [CI] simplify set validation

* from inline functions to Static class

* cleanup

* decouple rector.php to allow static analysis and coding standards
2020-11-26 16:44:27 +00:00

46 lines
1.7 KiB
PHP

<?php
declare(strict_types=1);
use PHPStan\Type\ObjectType;
use Rector\Generic\Rector\ClassMethod\ArgumentRemoverRector;
use Rector\Generic\ValueObject\ArgumentRemover;
use Rector\TypeDeclaration\Rector\ClassMethod\AddParamTypeDeclarationRector;
use Rector\TypeDeclaration\ValueObject\AddParamTypeDeclaration;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Symplify\SymfonyPhpConfig\ValueObjectInliner;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(AddParamTypeDeclarationRector::class)
->call('configure', [[
AddParamTypeDeclarationRector::PARAMETER_TYPEHINTS => ValueObjectInliner::inline([
new AddParamTypeDeclaration(
'Doctrine\ORM\Mapping\ClassMetadataFactory',
'setEntityManager',
0,
new ObjectType('Doctrine\ORM\EntityManagerInterface')
),
new AddParamTypeDeclaration(
'Doctrine\ORM\Tools\DebugUnitOfWorkListener',
'dumpIdentityMap',
0,
new ObjectType('Doctrine\ORM\EntityManagerInterface')
),
]),
]]);
$services->set(ArgumentRemoverRector::class)
->call('configure', [[
ArgumentRemoverRector::REMOVED_ARGUMENTS => ValueObjectInliner::inline([
new ArgumentRemover(
'Doctrine\ORM\Persisters\Entity\AbstractEntityInheritancePersister',
'getSelectJoinColumnSQL',
4,
null
),
]),
]]);
};