From 457468756e53f857580d01f9524ed99e09a07cb5 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sun, 8 Nov 2026 09:47:36 +0100 Subject: [PATCH] Use faster `strspn()` over regex matching --- src/Rules/Whitespace/FileWhitespaceRule.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Rules/Whitespace/FileWhitespaceRule.php b/src/Rules/Whitespace/FileWhitespaceRule.php index f160e9372ef..bd037e82f97 100644 --- a/src/Rules/Whitespace/FileWhitespaceRule.php +++ b/src/Rules/Whitespace/FileWhitespaceRule.php @@ -2,7 +2,6 @@ namespace PHPStan\Rules\Whitespace; -use Nette\Utils\Strings; use Override; use PhpParser\Node; use PhpParser\NodeTraverser; @@ -15,6 +14,8 @@ use PHPStan\Rules\RuleErrorBuilder; use function array_last; use function count; +use function strlen; +use function strspn; /** * @implements Rule @@ -85,7 +86,11 @@ public function getLastNodes(): array $lastNodes = $visitor->getLastNodes(); $lastNodes[] = array_last($nodes); foreach ($lastNodes as $lastNode) { - if (!$lastNode instanceof Node\Stmt\InlineHTML || Strings::match($lastNode->value, '#^(\s+)$#') === null) { + if ( + !$lastNode instanceof Node\Stmt\InlineHTML + || $lastNode->value === '' + || strspn($lastNode->value, " \t\n\r\v\f") !== strlen($lastNode->value) + ) { continue; }