diff --git a/rules/CodingStyle/NodeAnalyzer/UseImportNameMatcher.php b/rules/CodingStyle/NodeAnalyzer/UseImportNameMatcher.php index f1a53de2cc7..2406252ca2c 100644 --- a/rules/CodingStyle/NodeAnalyzer/UseImportNameMatcher.php +++ b/rules/CodingStyle/NodeAnalyzer/UseImportNameMatcher.php @@ -71,22 +71,23 @@ private function resolveName(string $prefix, string $tag, UseItem $useItem): str throw new ShouldNotHappenException(); } + $fullyQualifiedName = $prefix . $originalUseUseNode->name->toString(); + if (! $originalUseUseNode->alias instanceof Identifier) { $lastName = $originalUseUseNode->name->getLast(); if (str_starts_with($tag, $lastName . '\\')) { - $tagName = Strings::after($tag, '\\'); - return $prefix . $originalUseUseNode->name->toString() . '\\' . $tagName; + return $fullyQualifiedName . '\\' . Strings::after($tag, '\\'); } - return $prefix . $originalUseUseNode->name->toString(); + return $fullyQualifiedName; } $unaliasedShortClass = Strings::substring($tag, strlen($originalUseUseNode->alias->toString())); if (\str_starts_with($unaliasedShortClass, '\\')) { - return $prefix . $originalUseUseNode->name . $unaliasedShortClass; + return $fullyQualifiedName . $unaliasedShortClass; } - return $prefix . $originalUseUseNode->name . '\\' . $unaliasedShortClass; + return $fullyQualifiedName . '\\' . $unaliasedShortClass; } private function isUseMatchingName(string $tag, UseItem $useItem): bool