diff --git a/packages/Autodiscovery/src/Rector/FileSystem/MoveServicesBySuffixToDirectoryRector.php b/packages/Autodiscovery/src/Rector/FileSystem/MoveServicesBySuffixToDirectoryRector.php index 48a2898d6c3..6693102b8f0 100644 --- a/packages/Autodiscovery/src/Rector/FileSystem/MoveServicesBySuffixToDirectoryRector.php +++ b/packages/Autodiscovery/src/Rector/FileSystem/MoveServicesBySuffixToDirectoryRector.php @@ -94,7 +94,11 @@ PHP } // is suffix in the same category, e.g. "Exception/SomeException.php" - $expectedLocationFilePattern = sprintf('#\/%s\/.+%s#', preg_quote($groupName), preg_quote($suffixPattern)); + $expectedLocationFilePattern = sprintf( + '#\/%s\/.+%s#', + preg_quote($groupName, '#'), + preg_quote($suffixPattern, '#') + ); if (Strings::match($smartFileInfo->getRealPath(), $expectedLocationFilePattern)) { continue; } diff --git a/packages/BetterPhpDocParser/src/PhpDocParser/ClassAnnotationMatcher.php b/packages/BetterPhpDocParser/src/PhpDocParser/ClassAnnotationMatcher.php index f62a3ad7deb..5f20fce027d 100644 --- a/packages/BetterPhpDocParser/src/PhpDocParser/ClassAnnotationMatcher.php +++ b/packages/BetterPhpDocParser/src/PhpDocParser/ClassAnnotationMatcher.php @@ -36,7 +36,7 @@ final class ClassAnnotationMatcher private function isUseMatchingName(string $tag, UseUse $useUse): bool { $shortName = $useUse->alias ? $useUse->alias->name : $useUse->name->getLast(); - $shortNamePattern = preg_quote($shortName); + $shortNamePattern = preg_quote($shortName, '#'); return (bool) Strings::match($tag, '#' . $shortNamePattern . '(\\\\[\w]+)?#i'); } diff --git a/packages/CodeQuality/src/Rector/FuncCall/AddPregQuoteDelimiterRector.php b/packages/CodeQuality/src/Rector/FuncCall/AddPregQuoteDelimiterRector.php index 181e54bdfbc..b523ca10ca4 100644 --- a/packages/CodeQuality/src/Rector/FuncCall/AddPregQuoteDelimiterRector.php +++ b/packages/CodeQuality/src/Rector/FuncCall/AddPregQuoteDelimiterRector.php @@ -5,7 +5,9 @@ declare(strict_types=1); namespace Rector\CodeQuality\Rector\FuncCall; use PhpParser\Node; +use PhpParser\Node\Arg; use PhpParser\Node\Expr\FuncCall; +use PhpParser\Node\Scalar\String_; use Rector\Rector\AbstractRector; use Rector\RectorDefinition\CodeSample; use Rector\RectorDefinition\RectorDefinition; @@ -65,7 +67,7 @@ PHP return null; } - $node->args[1] = new Node\Arg(new Node\Scalar\String_('#')); + $node->args[1] = new Arg(new String_('#')); return $node; } diff --git a/packages/NodeTypeResolver/src/PhpDoc/NodeAnalyzer/DocBlockNameImporter.php b/packages/NodeTypeResolver/src/PhpDoc/NodeAnalyzer/DocBlockNameImporter.php index 0cfed5da1a3..701022707a2 100644 --- a/packages/NodeTypeResolver/src/PhpDoc/NodeAnalyzer/DocBlockNameImporter.php +++ b/packages/NodeTypeResolver/src/PhpDoc/NodeAnalyzer/DocBlockNameImporter.php @@ -197,8 +197,8 @@ final class DocBlockNameImporter // short with space " Type"| fqn $shortNameOrFullyQualifiedNamePattern = sprintf( '#(\s%s\b|\b%s\b)#', - preg_quote($shortenedObjectType->getShortName()), - preg_quote($fullyQualifiedName) + preg_quote($shortenedObjectType->getShortName(), '#'), + preg_quote($fullyQualifiedName, '#') ); $isShortClassUsed = (bool) Strings::match($printedClass, $shortNameOrFullyQualifiedNamePattern); diff --git a/packages/PHPUnit/src/Rector/TryCatchToExpectExceptionRector.php b/packages/PHPUnit/src/Rector/TryCatchToExpectExceptionRector.php index 639ed5b2176..11614fb560f 100644 --- a/packages/PHPUnit/src/Rector/TryCatchToExpectExceptionRector.php +++ b/packages/PHPUnit/src/Rector/TryCatchToExpectExceptionRector.php @@ -248,7 +248,7 @@ PHP if ($methodCall->args[0]->value instanceof String_) { /** @var String_ $oldString */ $oldString = $methodCall->args[0]->value; - $methodCall->args[0]->value = new String_('#' . preg_quote($oldString->value) . '#'); + $methodCall->args[0]->value = new String_('#' . preg_quote($oldString->value, '#') . '#'); } $this->newExpressions[] = $expression; diff --git a/rector.yaml b/rector.yaml index 4db7b1ec053..811830f47bb 100644 --- a/rector.yaml +++ b/rector.yaml @@ -18,4 +18,5 @@ parameters: php_version_features: '7.1' services: - Rector\PHPUnit\Rector\ClassMethod\AddDoesNotPerformAssertionToNonAssertingTestRector: ~ + Rector\CodeQuality\Rector\FuncCall\AddPregQuoteDelimiterRector: ~ +# Rector\PHPUnit\Rector\ClassMethod\AddDoesNotPerformAssertionToNonAssertingTestRector: ~