diff --git a/src/Standards/Typo3Update/Sniffs/LegacyClassnames/AbstractClassnameChecker.php b/src/Standards/Typo3Update/Sniffs/LegacyClassnames/AbstractClassnameChecker.php index a13fe1528b54eb38e2e53fedb97ec641723ee0f5..77bd49ca90177c96c4585d213e2e5070e92f0a2f 100644 --- a/src/Standards/Typo3Update/Sniffs/LegacyClassnames/AbstractClassnameChecker.php +++ b/src/Standards/Typo3Update/Sniffs/LegacyClassnames/AbstractClassnameChecker.php @@ -234,7 +234,7 @@ abstract class AbstractClassnameChecker implements PhpCsSniff $phpcsFile->fixer->replaceToken( $classnamePosition, - $this->getTokenForReplacement($prefix . $this->getNewClassname($classname)) + $this->getTokenForReplacement($prefix . $this->getNewClassname($classname), $classname) ); } @@ -242,12 +242,13 @@ abstract class AbstractClassnameChecker implements PhpCsSniff * String to use for replacing / fixing the token. * Default is class name itself, can be overwritten in sniff for special behaviour. * - * @param string $classname + * @param string $newClassname + * @param string $originalClassname * @return string */ - protected function getTokenForReplacement($classname) + protected function getTokenForReplacement($newClassname, $originalClassname) { - return $classname; + return $newClassname; } /** diff --git a/src/Standards/Typo3Update/Sniffs/LegacyClassnames/DocCommentSniff.php b/src/Standards/Typo3Update/Sniffs/LegacyClassnames/DocCommentSniff.php index 2a85c89112ba38c92d9e60a0f3df9a0408cef942..2a540bbd3ee12e0be55af26d823e33e14e7271e3 100644 --- a/src/Standards/Typo3Update/Sniffs/LegacyClassnames/DocCommentSniff.php +++ b/src/Standards/Typo3Update/Sniffs/LegacyClassnames/DocCommentSniff.php @@ -66,22 +66,32 @@ class Typo3Update_Sniffs_LegacyClassnames_DocCommentSniff extends AbstractClassn if ($classnamePosition === false) { return; } - $classname = explode(' ', $tokens[$classnamePosition]['content'])[0]; + $classnames = explode('|', explode(' ', $tokens[$classnamePosition]['content'])[0]); $this->originalTokenContent = $tokens[$classnamePosition]['content']; - $this->addFixableError($phpcsFile, $classnamePosition, $classname); + foreach ($classnames as $classname) { + $this->addFixableError($phpcsFile, $classnamePosition, $classname); + } } /** * As token contains more then just class name, we have to build new content ourself. * - * @param string $classname + * @param string $newClassname + * @param string $originalClassname * @return string */ - protected function getTokenForReplacement($classname) + protected function getTokenForReplacement($newClassname, $originalClassname) { $token = explode(' ', $this->originalTokenContent); - $token[0] = $classname; + + $classNames = explode('|', $token[0]); + foreach ($classNames as $position => $classname) { + if ($classname === $originalClassname) { + $classNames[$position] = $newClassname; + } + } + $token[0] = implode('|', $classNames); return implode(' ', $token); } diff --git a/src/Standards/Typo3Update/Sniffs/LegacyClassnames/InlineCommentSniff.php b/src/Standards/Typo3Update/Sniffs/LegacyClassnames/InlineCommentSniff.php index dc9c17d8176dc92a13922515aaab08ae2eeb94e5..4740c0e6a5c6e5c4954f582ec174ffe5453ece2f 100644 --- a/src/Standards/Typo3Update/Sniffs/LegacyClassnames/InlineCommentSniff.php +++ b/src/Standards/Typo3Update/Sniffs/LegacyClassnames/InlineCommentSniff.php @@ -81,13 +81,14 @@ class Typo3Update_Sniffs_LegacyClassnames_InlineCommentSniff extends AbstractCla /** * As token contains more then just class name, we have to build new content ourself. * - * @param string $classname + * @param string $newClassname + * @param string $originalClassname * @return string */ - protected function getTokenForReplacement($classname) + protected function getTokenForReplacement($newClassname, $originalClassname) { $token = preg_split('/\s+/', $this->originalTokenContent); - $token[$this->getClassnamePosition($token)] = $classname; + $token[$this->getClassnamePosition($token)] = $newClassname; return implode(' ', $token); } diff --git a/src/Standards/Typo3Update/Sniffs/LegacyClassnames/InstantiationWithMakeInstanceSniff.php b/src/Standards/Typo3Update/Sniffs/LegacyClassnames/InstantiationWithMakeInstanceSniff.php index 7e06b6b6a2cc61fea89362a7644964e24aaa5792..b25c613fe44df3c35bb4aac98868a2110dd29298 100644 --- a/src/Standards/Typo3Update/Sniffs/LegacyClassnames/InstantiationWithMakeInstanceSniff.php +++ b/src/Standards/Typo3Update/Sniffs/LegacyClassnames/InstantiationWithMakeInstanceSniff.php @@ -73,11 +73,12 @@ class Typo3Update_Sniffs_LegacyClassnames_InstantiationWithMakeInstanceSniff ext /** * As token contains more then just class name, we have to build new content ourself. * - * @param string $classname + * @param string $newClassname + * @param string $originalClassname * @return string */ - protected function getTokenForReplacement($classname) + protected function getTokenForReplacement($newClassname, $originalClassname) { - return $this->getTokenReplacementForString($classname); + return $this->getTokenReplacementForString($newClassname); } } diff --git a/src/Standards/Typo3Update/Sniffs/LegacyClassnames/InstantiationWithObjectManagerSniff.php b/src/Standards/Typo3Update/Sniffs/LegacyClassnames/InstantiationWithObjectManagerSniff.php index a3d173f6a3cce94b6f0405c8a9b415d83df9a48f..67014fe007823edaf814ceaf71b85997031289bc 100644 --- a/src/Standards/Typo3Update/Sniffs/LegacyClassnames/InstantiationWithObjectManagerSniff.php +++ b/src/Standards/Typo3Update/Sniffs/LegacyClassnames/InstantiationWithObjectManagerSniff.php @@ -83,11 +83,12 @@ class Typo3Update_Sniffs_LegacyClassnames_InstantiationWithObjectManagerSniff ex /** * As token contains more then just class name, we have to build new content ourself. * - * @param string $classname + * @param string $newClassname + * @param string $originalClassname * @return string */ - protected function getTokenForReplacement($classname) + protected function getTokenForReplacement($newClassname, $originalClassname) { - return $this->getTokenReplacementForString($classname); + return $this->getTokenReplacementForString($newClassname); } } diff --git a/src/Standards/Typo3Update/Sniffs/LegacyClassnames/IsACallSniff.php b/src/Standards/Typo3Update/Sniffs/LegacyClassnames/IsACallSniff.php index b4a2f301b9ef90d1cb57bc7913cf319b75121589..89bd2fa72ee0b57f169d28ebae041d47df466c59 100644 --- a/src/Standards/Typo3Update/Sniffs/LegacyClassnames/IsACallSniff.php +++ b/src/Standards/Typo3Update/Sniffs/LegacyClassnames/IsACallSniff.php @@ -72,11 +72,12 @@ class Typo3Update_Sniffs_LegacyClassnames_IsACallSniff extends AbstractClassname /** * As token contains more then just class name, we have to build new content ourself. * - * @param string $classname + * @param string $newClassname + * @param string $originalClassname * @return string */ - protected function getTokenForReplacement($classname) + protected function getTokenForReplacement($newClassname, $originalClassname) { - return $this->getTokenReplacementForString($classname); + return $this->getTokenReplacementForString($newClassname); } }