From 2afaf9844fe1ca4f9d54a1f36e1a30ecaeabca21 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Sun, 11 Oct 2026 18:43:02 +0200 Subject: [PATCH 1/2] [perf] Skip FixClassCaseSensitivityVarDocblockRector for nodes without a docblock The rule subscribes to Property and Expression and built a PhpDocInfo for every node to fix class-name casing in @var tags. Those tags only exist in a docblock; guard with getDocComment() so the phpdoc work runs only when one exists. Without a docblock there are no var tags to correct, so behaviour is unchanged. --- .../Property/FixClassCaseSensitivityVarDocblockRector.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rules/CodeQuality/Rector/Property/FixClassCaseSensitivityVarDocblockRector.php b/rules/CodeQuality/Rector/Property/FixClassCaseSensitivityVarDocblockRector.php index f565ca08451..f61bb781b69 100644 --- a/rules/CodeQuality/Rector/Property/FixClassCaseSensitivityVarDocblockRector.php +++ b/rules/CodeQuality/Rector/Property/FixClassCaseSensitivityVarDocblockRector.php @@ -64,6 +64,11 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?Node { + // a @var tag can only live in a docblock; skip nodes without one + if ($node->getDocComment() === null) { + return null; + } + $phpDocInfo = $this->phpDocInfoFactory->createFromNode($node); if (! $phpDocInfo instanceof PhpDocInfo) { return null; From 15bac54b7557c6379d517d58127858951215f224 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Sun, 11 Oct 2026 16:44:05 +0000 Subject: [PATCH 2/2] [ci-review] Rector Rectify --- .../Property/FixClassCaseSensitivityVarDocblockRector.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rules/CodeQuality/Rector/Property/FixClassCaseSensitivityVarDocblockRector.php b/rules/CodeQuality/Rector/Property/FixClassCaseSensitivityVarDocblockRector.php index f61bb781b69..ea31b0fc97d 100644 --- a/rules/CodeQuality/Rector/Property/FixClassCaseSensitivityVarDocblockRector.php +++ b/rules/CodeQuality/Rector/Property/FixClassCaseSensitivityVarDocblockRector.php @@ -4,6 +4,7 @@ namespace Rector\CodeQuality\Rector\Property; +use PhpParser\Comment\Doc; use PhpParser\Node; use PhpParser\Node\Identifier; use PhpParser\Node\Stmt\Expression; @@ -65,7 +66,7 @@ public function getNodeTypes(): array public function refactor(Node $node): ?Node { // a @var tag can only live in a docblock; skip nodes without one - if ($node->getDocComment() === null) { + if (!$node->getDocComment() instanceof Doc) { return null; }