Skip to content

Commit 32e3939

Browse files
committed
Updated Rector to commit d1e896cd58204f76a1dea43a86e8f119a8c71c9c
rectorphp/rector-src@d1e896c [automated] Apply Coding Standard (#6784)
1 parent 99a32e2 commit 32e3939

File tree

8 files changed

+86
-7
lines changed

8 files changed

+86
-7
lines changed

vendor/composer/autoload_classmap.php

+1
Original file line numberDiff line numberDiff line change
@@ -1433,6 +1433,7 @@
14331433
'Rector\\Doctrine\\NodeManipulator\\ToOneRelationPropertyTypeResolver' => $vendorDir . '/rector/rector-doctrine/src/NodeManipulator/ToOneRelationPropertyTypeResolver.php',
14341434
'Rector\\Doctrine\\Orm214\\Rector\\Param\\ReplaceLifecycleEventArgsByDedicatedEventArgsRector' => $vendorDir . '/rector/rector-doctrine/rules/Orm214/Rector/Param/ReplaceLifecycleEventArgsByDedicatedEventArgsRector.php',
14351435
'Rector\\Doctrine\\Orm28\\Rector\\MethodCall\\IterateToToIterableRector' => $vendorDir . '/rector/rector-doctrine/rules/Orm28/Rector/MethodCall/IterateToToIterableRector.php',
1436+
'Rector\\Doctrine\\Orm30\\Rector\\MethodCall\\CastDoctrineExprToStringRector' => $vendorDir . '/rector/rector-doctrine/rules/Orm30/Rector/MethodCall/CastDoctrineExprToStringRector.php',
14361437
'Rector\\Doctrine\\Orm30\\Rector\\MethodCall\\SetParametersArrayToCollectionRector' => $vendorDir . '/rector/rector-doctrine/rules/Orm30/Rector/MethodCall/SetParametersArrayToCollectionRector.php',
14371438
'Rector\\Doctrine\\PhpDocParser\\DoctrineDocBlockResolver' => $vendorDir . '/rector/rector-doctrine/src/PhpDocParser/DoctrineDocBlockResolver.php',
14381439
'Rector\\Doctrine\\PhpDoc\\ShortClassExpander' => $vendorDir . '/rector/rector-doctrine/src/PhpDoc/ShortClassExpander.php',

vendor/composer/autoload_static.php

+1
Original file line numberDiff line numberDiff line change
@@ -1652,6 +1652,7 @@ class ComposerStaticInit82c6a73a31b80aa1be38da0fc895c7e2
16521652
'Rector\\Doctrine\\NodeManipulator\\ToOneRelationPropertyTypeResolver' => __DIR__ . '/..' . '/rector/rector-doctrine/src/NodeManipulator/ToOneRelationPropertyTypeResolver.php',
16531653
'Rector\\Doctrine\\Orm214\\Rector\\Param\\ReplaceLifecycleEventArgsByDedicatedEventArgsRector' => __DIR__ . '/..' . '/rector/rector-doctrine/rules/Orm214/Rector/Param/ReplaceLifecycleEventArgsByDedicatedEventArgsRector.php',
16541654
'Rector\\Doctrine\\Orm28\\Rector\\MethodCall\\IterateToToIterableRector' => __DIR__ . '/..' . '/rector/rector-doctrine/rules/Orm28/Rector/MethodCall/IterateToToIterableRector.php',
1655+
'Rector\\Doctrine\\Orm30\\Rector\\MethodCall\\CastDoctrineExprToStringRector' => __DIR__ . '/..' . '/rector/rector-doctrine/rules/Orm30/Rector/MethodCall/CastDoctrineExprToStringRector.php',
16551656
'Rector\\Doctrine\\Orm30\\Rector\\MethodCall\\SetParametersArrayToCollectionRector' => __DIR__ . '/..' . '/rector/rector-doctrine/rules/Orm30/Rector/MethodCall/SetParametersArrayToCollectionRector.php',
16561657
'Rector\\Doctrine\\PhpDocParser\\DoctrineDocBlockResolver' => __DIR__ . '/..' . '/rector/rector-doctrine/src/PhpDocParser/DoctrineDocBlockResolver.php',
16571658
'Rector\\Doctrine\\PhpDoc\\ShortClassExpander' => __DIR__ . '/..' . '/rector/rector-doctrine/src/PhpDoc/ShortClassExpander.php',

vendor/composer/installed.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -1687,12 +1687,12 @@
16871687
"source": {
16881688
"type": "git",
16891689
"url": "https:\/\/github.com\/rectorphp\/rector-doctrine.git",
1690-
"reference": "8a70e67aa9b6691bc586ecc5ea942ba45240cd21"
1690+
"reference": "1da0aa0cbb301491186a6f8e447d3d8d48387a02"
16911691
},
16921692
"dist": {
16931693
"type": "zip",
1694-
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-doctrine\/zipball\/8a70e67aa9b6691bc586ecc5ea942ba45240cd21",
1695-
"reference": "8a70e67aa9b6691bc586ecc5ea942ba45240cd21",
1694+
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-doctrine\/zipball\/1da0aa0cbb301491186a6f8e447d3d8d48387a02",
1695+
"reference": "1da0aa0cbb301491186a6f8e447d3d8d48387a02",
16961696
"shasum": ""
16971697
},
16981698
"require": {
@@ -1715,7 +1715,7 @@
17151715
"tomasvotruba\/class-leak": "^2.0",
17161716
"tracy\/tracy": "^2.10"
17171717
},
1718-
"time": "2025-03-13T09:08:24+00:00",
1718+
"time": "2025-03-16T14:47:31+00:00",
17191719
"default-branch": true,
17201720
"type": "rector-extension",
17211721
"extra": {

vendor/composer/installed.php

+1-1
Large diffs are not rendered by default.

vendor/rector/extension-installer/src/GeneratedConfig.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
*/
1010
final class GeneratedConfig
1111
{
12-
public const EXTENSIONS = array('rector/rector-doctrine' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-doctrine', 'relative_install_path' => '../../rector-doctrine', 'extra' => NULL, 'version' => 'dev-main 8a70e67'), 'rector/rector-downgrade-php' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-downgrade-php', 'relative_install_path' => '../../rector-downgrade-php', 'extra' => NULL, 'version' => 'dev-main b55c3bc'), 'rector/rector-phpunit' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-phpunit', 'relative_install_path' => '../../rector-phpunit', 'extra' => NULL, 'version' => 'dev-main 0d8fbf8'), 'rector/rector-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-symfony', 'relative_install_path' => '../../rector-symfony', 'extra' => NULL, 'version' => 'dev-main d4e5a0f'));
12+
public const EXTENSIONS = array('rector/rector-doctrine' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-doctrine', 'relative_install_path' => '../../rector-doctrine', 'extra' => NULL, 'version' => 'dev-main 1da0aa0'), 'rector/rector-downgrade-php' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-downgrade-php', 'relative_install_path' => '../../rector-downgrade-php', 'extra' => NULL, 'version' => 'dev-main b55c3bc'), 'rector/rector-phpunit' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-phpunit', 'relative_install_path' => '../../rector-phpunit', 'extra' => NULL, 'version' => 'dev-main 0d8fbf8'), 'rector/rector-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-symfony', 'relative_install_path' => '../../rector-symfony', 'extra' => NULL, 'version' => 'dev-main d4e5a0f'));
1313
private function __construct()
1414
{
1515
}

vendor/rector/rector-doctrine/config/sets/doctrine-orm-300.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44
namespace RectorPrefix202503;
55

66
use Rector\Config\RectorConfig;
7+
use Rector\Doctrine\Orm30\Rector\MethodCall\CastDoctrineExprToStringRector;
78
use Rector\Doctrine\Orm30\Rector\MethodCall\SetParametersArrayToCollectionRector;
89
use Rector\Renaming\Rector\Name\RenameClassRector;
910
return static function (RectorConfig $rectorConfig) : void {
10-
$rectorConfig->rules([SetParametersArrayToCollectionRector::class]);
11+
$rectorConfig->rules([SetParametersArrayToCollectionRector::class, CastDoctrineExprToStringRector::class]);
1112
$rectorConfig->ruleWithConfiguration(RenameClassRector::class, ['Doctrine\\ORM\\ORMException' => 'Doctrine\\ORM\\Exception\\ORMException']);
1213
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
<?php
2+
3+
declare (strict_types=1);
4+
namespace Rector\Doctrine\Orm30\Rector\MethodCall;
5+
6+
use PhpParser\Node;
7+
use PhpParser\Node\Arg;
8+
use PhpParser\Node\Expr\Cast\String_;
9+
use PhpParser\Node\Expr\MethodCall;
10+
use PHPStan\Type\ObjectType;
11+
use Rector\Rector\AbstractRector;
12+
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
13+
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
14+
/**
15+
* @see https://github.com/doctrine/orm/commit/4d73e3ce7801d3bf3254257332e903d8ecea4096
16+
*/
17+
final class CastDoctrineExprToStringRector extends AbstractRector
18+
{
19+
/**
20+
* @var array<string>
21+
*/
22+
private array $targetMethods = ['like', 'notLike', 'eq', 'neq', 'lt', 'lte', 'gt', 'gte', 'between', 'in', 'notIn', 'isMemberOf', 'isInstanceOf'];
23+
/**
24+
* @var array<string>
25+
*/
26+
private array $exprFuncMethods = ['lower', 'upper', 'length', 'trim', 'avg', 'max', 'min', 'count', 'countDistinct', 'exists', 'all', 'some', 'any', 'not', 'abs', 'sqrt'];
27+
public function getRuleDefinition() : RuleDefinition
28+
{
29+
return new RuleDefinition('Casts Doctrine Expr\\x to string where necessary.', [new CodeSample(<<<'CODE_SAMPLE'
30+
$statements->add(
31+
$builder->expr()->like(
32+
$builder->expr()->lower($column),
33+
$builder->expr()->lower($builder->expr()->literal('%'.$like.'%'))
34+
)
35+
);
36+
CODE_SAMPLE
37+
, <<<'CODE_SAMPLE'
38+
$statements->add(
39+
$builder->expr()->like(
40+
(string) $builder->expr()->lower($column),
41+
(string) $builder->expr()->lower($builder->expr()->literal('%'.$like.'%'))
42+
)
43+
);
44+
CODE_SAMPLE
45+
)]);
46+
}
47+
public function getNodeTypes() : array
48+
{
49+
return [MethodCall::class];
50+
}
51+
public function refactor(Node $node) : ?Node
52+
{
53+
if (!$node instanceof MethodCall) {
54+
return null;
55+
}
56+
if (!$this->isObjectType($node->var, new ObjectType('Doctrine\\ORM\\Query\\Expr'))) {
57+
return null;
58+
}
59+
if (!\in_array($this->getName($node->name), $this->targetMethods, \true)) {
60+
return null;
61+
}
62+
// Iterate through method arguments and cast `Expr\Func` calls to string
63+
$hasChanged = \false;
64+
foreach ($node->args as $arg) {
65+
if (!$arg instanceof Arg) {
66+
return null;
67+
}
68+
if ($arg->value instanceof MethodCall && $this->isObjectType($arg->value->var, new ObjectType('Doctrine\\ORM\\Query\\Expr')) && \in_array($this->getName($arg->value->name), $this->exprFuncMethods, \true)) {
69+
$arg->value = new String_($arg->value);
70+
$hasChanged = \true;
71+
}
72+
}
73+
return $hasChanged ? $node : null;
74+
}
75+
}

vendor/rector/rector-doctrine/src/Set/SetProvider/DoctrineSetProvider.php

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public function provide() : array
3131
new ComposerTriggeredSet(SetGroup::DOCTRINE, 'doctrine/orm', '2.5', __DIR__ . '/../../../config/sets/doctrine-orm-25.php'),
3232
new ComposerTriggeredSet(SetGroup::DOCTRINE, 'doctrine/orm', '2.13', __DIR__ . '/../../../config/sets/doctrine-orm-213.php'),
3333
new ComposerTriggeredSet(SetGroup::DOCTRINE, 'doctrine/orm', '2.14', __DIR__ . '/../../../config/sets/doctrine-orm-214.php'),
34+
new ComposerTriggeredSet(SetGroup::DOCTRINE, 'doctrine/orm', '3.0', __DIR__ . '/../../../config/sets/doctrine-orm-300.php'),
3435
new Set(SetGroup::ATTRIBUTES, 'Doctrine ORM', __DIR__ . '/../../../config/sets/attributes/doctrine.php'),
3536
new Set(SetGroup::ATTRIBUTES, 'Gedmo', __DIR__ . '/../../../config/sets/attributes/gedmo.php'),
3637
new Set(SetGroup::ATTRIBUTES, 'MongoDB', __DIR__ . '/../../../config/sets/attributes/mongodb.php'),

0 commit comments

Comments
 (0)