diff --git a/rules-tests/CodingStyle/Rector/Encapsed/EncapsedStringsToSprintfRector/Fixture/translation_function.php.inc b/rules-tests/CodingStyle/Rector/Encapsed/EncapsedStringsToSprintfRector/Fixture/translation_function.php.inc index a07fff3d053..7b606970abe 100644 --- a/rules-tests/CodingStyle/Rector/Encapsed/EncapsedStringsToSprintfRector/Fixture/translation_function.php.inc +++ b/rules-tests/CodingStyle/Rector/Encapsed/EncapsedStringsToSprintfRector/Fixture/translation_function.php.inc @@ -25,4 +25,3 @@ final class TranslationFunction } ?> - diff --git a/rules/CodingStyle/Rector/Encapsed/EncapsedStringsToSprintfRector.php b/rules/CodingStyle/Rector/Encapsed/EncapsedStringsToSprintfRector.php index 6d44734ad9c..b590966ba3f 100644 --- a/rules/CodingStyle/Rector/Encapsed/EncapsedStringsToSprintfRector.php +++ b/rules/CodingStyle/Rector/Encapsed/EncapsedStringsToSprintfRector.php @@ -64,7 +64,7 @@ public function configure(array $configuration): void public function getRuleDefinition(): RuleDefinition { return new RuleDefinition( - 'Convert enscaped {$string} to more readable sprintf or concat, if no mask is used', + 'Convert enscaped {$string} to more readable sprintf or concat, if no value is used', [ new ConfiguredCodeSample( <<<'CODE_SAMPLE' @@ -204,7 +204,9 @@ private function createSprintfFuncCallOrConcat(string $mask, array $argumentVari return null; } - $arguments = [new Arg(new String_($mask))]; + $string = $this->createString($mask); + + $arguments = [new Arg($string)]; foreach ($argumentVariables as $argumentVariable) { $arguments[] = new Arg($argumentVariable); } @@ -239,4 +241,13 @@ private function createSingleValueEdgeConcat(array $argumentVariables, string $m return null; } + + private function createString(string $value): String_ + { + $kind = str_contains($value, '\'') ? String_::KIND_DOUBLE_QUOTED : String_::KIND_SINGLE_QUOTED; + + return new String_($value, [ + 'kind' => $kind, + ]); + } }