diff --git a/rules/CodingStyle/ClassNameImport/ClassNameImportSkipVoter/OriginalNameImportSkipVoter.php b/rules/CodingStyle/ClassNameImport/ClassNameImportSkipVoter/OriginalNameImportSkipVoter.php new file mode 100644 index 00000000000..e8569ab0572 --- /dev/null +++ b/rules/CodingStyle/ClassNameImport/ClassNameImportSkipVoter/OriginalNameImportSkipVoter.php @@ -0,0 +1,33 @@ +toCodeString(), '\\') === 1) { + return false; + } + + // verify long name, as short name verify may conflict + // see test PR: https://github.com/rectorphp/rector-src/pull/6208 + // ref https://3v4l.org/21H5j vs https://3v4l.org/GIHSB + $originalName = $node->getAttribute(AttributeKey::ORIGINAL_NAME); + return $originalName instanceof Name && $originalName->getLast() === $originalName->toString(); + } +} diff --git a/src/DependencyInjection/LazyContainerFactory.php b/src/DependencyInjection/LazyContainerFactory.php index be2a741911b..19d8e424c75 100644 --- a/src/DependencyInjection/LazyContainerFactory.php +++ b/src/DependencyInjection/LazyContainerFactory.php @@ -45,6 +45,7 @@ use Rector\CodingStyle\ClassNameImport\ClassNameImportSkipVoter\AliasClassNameImportSkipVoter; use Rector\CodingStyle\ClassNameImport\ClassNameImportSkipVoter\ClassLikeNameClassNameImportSkipVoter; use Rector\CodingStyle\ClassNameImport\ClassNameImportSkipVoter\FullyQualifiedNameClassNameImportSkipVoter; +use Rector\CodingStyle\ClassNameImport\ClassNameImportSkipVoter\OriginalNameImportSkipVoter; use Rector\CodingStyle\ClassNameImport\ClassNameImportSkipVoter\ReservedClassNameImportSkipVoter; use Rector\CodingStyle\ClassNameImport\ClassNameImportSkipVoter\ShortClassImportSkipVoter; use Rector\CodingStyle\ClassNameImport\ClassNameImportSkipVoter\UsesClassNameImportSkipVoter; @@ -266,6 +267,7 @@ final class LazyContainerFactory UsesClassNameImportSkipVoter::class, ReservedClassNameImportSkipVoter::class, ShortClassImportSkipVoter::class, + OriginalNameImportSkipVoter::class, ]; /**