From f5545b3740fb7032b26503c4098c31a9163e9633 Mon Sep 17 00:00:00 2001 From: Vladimir Dolzhenko Date: Wed, 8 Jan 2020 17:31:56 +0100 Subject: [PATCH] Handle kdoc case for Introduce import alias inspection #EA-210889 Fixed --- .../KotlinIntroduceImportAliasHandler.kt | 2 +- idea/testData/addImportAlias/KDocAlias.expected.names | 3 +++ idea/testData/addImportAlias/KDocAlias.kt | 8 ++++++++ idea/testData/addImportAlias/KDocAlias.kt.after | 8 ++++++++ .../addImportAlias/AddImportAliasTestGenerated.java | 5 +++++ 5 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 idea/testData/addImportAlias/KDocAlias.expected.names create mode 100644 idea/testData/addImportAlias/KDocAlias.kt create mode 100644 idea/testData/addImportAlias/KDocAlias.kt.after 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 460937dc193..38b64b4a00d 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 @@ -129,7 +129,7 @@ private fun replaceUsages(usages: List, newName: String) { // case: inner element for (usage in usages.asReversed()) { val reference = usage.pointer.element?.safeAs()?.mainReference?.takeUnless(KtReference::isImportUsage) ?: continue - val newExpression = reference.handleElementRename(newName) as KtNameReferenceExpression + val newExpression = reference.handleElementRename(newName) as? KtNameReferenceExpression ?: continue if (usage.isExtension) { newExpression.getQualifiedElementSelector()?.replace(newExpression) continue diff --git a/idea/testData/addImportAlias/KDocAlias.expected.names b/idea/testData/addImportAlias/KDocAlias.expected.names new file mode 100644 index 00000000000..5e224f4c95d --- /dev/null +++ b/idea/testData/addImportAlias/KDocAlias.expected.names @@ -0,0 +1,3 @@ +HashMap1 +UtilHashMap +JavaUtilHashMap diff --git a/idea/testData/addImportAlias/KDocAlias.kt b/idea/testData/addImportAlias/KDocAlias.kt new file mode 100644 index 00000000000..a3ce66bb9b0 --- /dev/null +++ b/idea/testData/addImportAlias/KDocAlias.kt @@ -0,0 +1,8 @@ +import java.util.HashMap + +/** + * [HashMap] is used + */ +fun x() { + val list = HashMap() +} \ No newline at end of file diff --git a/idea/testData/addImportAlias/KDocAlias.kt.after b/idea/testData/addImportAlias/KDocAlias.kt.after new file mode 100644 index 00000000000..5dcb4f14367 --- /dev/null +++ b/idea/testData/addImportAlias/KDocAlias.kt.after @@ -0,0 +1,8 @@ +import java.util.HashMap as HashMap1 + +/** + * [HashMap1] is used + */ +fun x() { + val list = HashMap1() +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/addImportAlias/AddImportAliasTestGenerated.java b/idea/tests/org/jetbrains/kotlin/addImportAlias/AddImportAliasTestGenerated.java index 01d86388d85..aa31a6aa721 100644 --- a/idea/tests/org/jetbrains/kotlin/addImportAlias/AddImportAliasTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/addImportAlias/AddImportAliasTestGenerated.java @@ -33,6 +33,11 @@ public class AddImportAliasTestGenerated extends AbstractAddImportAliasTest { runTest("idea/testData/addImportAlias/JavaAlias.kt"); } + @TestMetadata("KDocAlias.kt") + public void testKDocAlias() throws Exception { + runTest("idea/testData/addImportAlias/KDocAlias.kt"); + } + @TestMetadata("SimpleAlias.kt") public void testSimpleAlias() throws Exception { runTest("idea/testData/addImportAlias/SimpleAlias.kt");