From acc4118903f8afedd2fc7f183af8484752f2993d Mon Sep 17 00:00:00 2001 From: Vladimir Dolzhenko Date: Wed, 19 Feb 2020 15:22:22 +0100 Subject: [PATCH] Provide import alias suggestion for Companion Fixed #EA-223797 --- .../KotlinIntroduceImportAliasHandler.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceImportAlias/KotlinIntroduceImportAliasHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceImportAlias/KotlinIntroduceImportAliasHandler.kt index 38b64b4a00d..b52a40adea1 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceImportAlias/KotlinIntroduceImportAliasHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceImportAlias/KotlinIntroduceImportAliasHandler.kt @@ -40,6 +40,7 @@ import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode import org.jetbrains.kotlin.resolve.scopes.utils.findClassifier import org.jetbrains.kotlin.resolve.scopes.utils.findPackage import org.jetbrains.kotlin.utils.addToStdlib.safeAs +import org.jetbrains.kotlin.utils.checkWithAttachment object KotlinIntroduceImportAliasHandler : RefactoringActionHandler { const val REFACTORING_NAME = "Introduce Import Alias" @@ -83,7 +84,13 @@ object KotlinIntroduceImportAliasHandler : RefactoringActionHandler { } } - val suggestionsName = KotlinNameSuggester.suggestNamesByFqName(fqName, validator = validator) + val suggestionsName = KotlinNameSuggester.suggestNamesByFqName( + fqName, + validator = validator, + defaultName = { fqName.asString().replace('.', '_') }) + checkWithAttachment(suggestionsName.isNotEmpty(), { "Unable to build any suggestion name for $fqName" }) { + it.withAttachment("file.kt", file.text) + } val newName = suggestionsName.first() suggestedImportAliasNames = suggestionsName val newDirective = ImportInsertHelperImpl.addImport(project, file, fqName, false, Name.identifier(newName))