From 58bf42c1dd0c841bb9256071b24f145cc840c635 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Mon, 29 Jan 2018 17:20:24 +0300 Subject: [PATCH] Rename: Support KtTypeAlias in RenameKotlinClassProcessor #KT-21719 Fixed --- idea/src/META-INF/plugin.xml | 2 +- .../rename/AutomaticVariableRenamer.kt | 2 +- ....kt => RenameKotlinClassifierProcessor.kt} | 20 +++++++----------- .../after/Common/Common.iml | 19 +++++++++++++++++ .../after/Common/src/test/test.kt | 9 ++++++++ .../after/JS/JS.iml | 21 +++++++++++++++++++ .../after/JS/src/test/test.kt | 11 ++++++++++ .../after/JVM/JVM.iml | 21 +++++++++++++++++++ .../after/JVM/src/test/test.kt | 9 ++++++++ .../before/Common/Common.iml | 19 +++++++++++++++++ .../before/Common/src/test/test.kt | 9 ++++++++ .../before/JS/JS.iml | 21 +++++++++++++++++++ .../before/JS/src/test/test.kt | 11 ++++++++++ .../before/JVM/JVM.iml | 21 +++++++++++++++++++ .../before/JVM/src/test/test.kt | 9 ++++++++ .../headerAndImplClassByImplTypeAlias.test | 6 ++++++ .../after/Common/Common.iml | 19 +++++++++++++++++ .../after/Common/src/test/test.kt | 9 ++++++++ .../after/JS/JS.iml | 21 +++++++++++++++++++ .../after/JS/src/test/test.kt | 9 ++++++++ .../after/JVM/JVM.iml | 21 +++++++++++++++++++ .../after/JVM/src/test/test.kt | 11 ++++++++++ .../before/Common/Common.iml | 19 +++++++++++++++++ .../before/Common/src/test/test.kt | 9 ++++++++ .../before/JS/JS.iml | 21 +++++++++++++++++++ .../before/JS/src/test/test.kt | 9 ++++++++ .../before/JVM/JVM.iml | 21 +++++++++++++++++++ .../before/JVM/src/test/test.kt | 11 ++++++++++ .../headerAndImplTypeAliasByImplClass.test | 6 ++++++ .../after/Common/Common.iml | 19 +++++++++++++++++ .../after/Common/src/test/test.kt | 9 ++++++++ .../after/JS/JS.iml | 21 +++++++++++++++++++ .../after/JS/src/test/test.kt | 11 ++++++++++ .../after/JVM/JVM.iml | 21 +++++++++++++++++++ .../after/JVM/src/test/test.kt | 9 ++++++++ .../before/Common/Common.iml | 19 +++++++++++++++++ .../before/Common/src/test/test.kt | 9 ++++++++ .../before/JS/JS.iml | 21 +++++++++++++++++++ .../before/JS/src/test/test.kt | 11 ++++++++++ .../before/JVM/JVM.iml | 21 +++++++++++++++++++ .../before/JVM/src/test/test.kt | 9 ++++++++ .../implClassAndTypeAliasByHeaderClass.test | 6 ++++++ .../MultiModuleRenameTestGenerated.java | 18 ++++++++++++++++ 43 files changed, 586 insertions(+), 14 deletions(-) rename idea/src/org/jetbrains/kotlin/idea/refactoring/rename/{RenameKotlinClassProcessor.kt => RenameKotlinClassifierProcessor.kt} (92%) create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/Common/Common.iml create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/Common/src/test/test.kt create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/JS/JS.iml create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/JS/src/test/test.kt create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/JVM/JVM.iml create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/JVM/src/test/test.kt create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/Common/Common.iml create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/Common/src/test/test.kt create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/JS/JS.iml create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/JS/src/test/test.kt create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/JVM/JVM.iml create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/JVM/src/test/test.kt create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/headerAndImplClassByImplTypeAlias.test create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/Common/Common.iml create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/Common/src/test/test.kt create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/JS/JS.iml create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/JS/src/test/test.kt create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/JVM/JVM.iml create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/JVM/src/test/test.kt create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/Common/Common.iml create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/Common/src/test/test.kt create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/JS/JS.iml create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/JS/src/test/test.kt create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/JVM/JVM.iml create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/JVM/src/test/test.kt create mode 100644 idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/headerAndImplTypeAliasByImplClass.test create mode 100644 idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/Common/Common.iml create mode 100644 idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/Common/src/test/test.kt create mode 100644 idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/JS/JS.iml create mode 100644 idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/JS/src/test/test.kt create mode 100644 idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/JVM/JVM.iml create mode 100644 idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/JVM/src/test/test.kt create mode 100644 idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/Common/Common.iml create mode 100644 idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/Common/src/test/test.kt create mode 100644 idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/JS/JS.iml create mode 100644 idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/JS/src/test/test.kt create mode 100644 idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/JVM/JVM.iml create mode 100644 idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/JVM/src/test/test.kt create mode 100644 idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/implClassAndTypeAliasByHeaderClass.test diff --git a/idea/src/META-INF/plugin.xml b/idea/src/META-INF/plugin.xml index ad9e822f967..9095dc36de1 100644 --- a/idea/src/META-INF/plugin.xml +++ b/idea/src/META-INF/plugin.xml @@ -485,7 +485,7 @@ ) = AutomaticVariableRenamer(element as PsiNamedElement, newName, usages) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinClassProcessor.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinClassifierProcessor.kt similarity index 92% rename from idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinClassProcessor.kt rename to idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinClassifierProcessor.kt index 7d9a1a3d44b..ba039fbf423 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinClassProcessor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinClassifierProcessor.kt @@ -17,10 +17,8 @@ package org.jetbrains.kotlin.idea.refactoring.rename import com.intellij.openapi.editor.Editor -import com.intellij.psi.PsiClass import com.intellij.psi.PsiElement import com.intellij.psi.PsiReference -import com.intellij.psi.util.PsiUtilCore import com.intellij.refactoring.JavaRefactoringSettings import com.intellij.refactoring.listeners.RefactoringElementListener import com.intellij.refactoring.rename.RenamePsiElementProcessor @@ -29,22 +27,19 @@ import org.jetbrains.kotlin.asJava.classes.KtLightClass import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade import org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclaration import org.jetbrains.kotlin.asJava.namedUnwrappedElement -import org.jetbrains.kotlin.descriptors.ClassDescriptor +import org.jetbrains.kotlin.descriptors.ClassifierDescriptor import org.jetbrains.kotlin.idea.caches.resolve.analyze import org.jetbrains.kotlin.idea.caches.resolve.unsafeResolveToDescriptor import org.jetbrains.kotlin.idea.references.KtSimpleNameReference -import org.jetbrains.kotlin.psi.KtClassOrObject -import org.jetbrains.kotlin.psi.KtConstructor -import org.jetbrains.kotlin.psi.KtNamedDeclaration -import org.jetbrains.kotlin.psi.KtObjectDeclaration +import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode import org.jetbrains.kotlin.utils.SmartList import java.util.* -class RenameKotlinClassProcessor : RenameKotlinPsiProcessor() { +class RenameKotlinClassifierProcessor : RenameKotlinPsiProcessor() { override fun canProcessElement(element: PsiElement): Boolean { - return element is KtClassOrObject || element is KtLightClass || element is KtConstructor<*> + return element is KtClassOrObject || element is KtLightClass || element is KtConstructor<*> || element is KtTypeAlias } override fun isToSearchInComments(psiElement: PsiElement) = JavaRefactoringSettings.getInstance().RENAME_SEARCH_IN_COMMENTS_FOR_CLASS @@ -102,7 +97,7 @@ class RenameKotlinClassProcessor : RenameKotlinPsiProcessor() { ) { if (newName == null) return val declaration = element.namedUnwrappedElement as? KtNamedDeclaration ?: return - val descriptor = declaration.unsafeResolveToDescriptor() as ClassDescriptor + val descriptor = declaration.unsafeResolveToDescriptor() as ClassifierDescriptor val collisions = SmartList() checkRedeclarations(descriptor, newName, collisions) @@ -122,8 +117,9 @@ class RenameKotlinClassProcessor : RenameKotlinPsiProcessor() { is KtConstructor<*> -> element.getContainingClassOrObject() - else -> - element as? KtClassOrObject + is KtClassOrObject, is KtTypeAlias -> element + + else -> null } override fun renameElement(element: PsiElement, newName: String?, usages: Array, listener: RefactoringElementListener?) { diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/Common/Common.iml b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/Common/Common.iml new file mode 100644 index 00000000000..0ecf9949f6c --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/Common/Common.iml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/Common/src/test/test.kt b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/Common/src/test/test.kt new file mode 100644 index 00000000000..8ad57c097fd --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/Common/src/test/test.kt @@ -0,0 +1,9 @@ +package test + +expect class Baz +expect class Bar + +fun test() { + val baz: Baz = Baz() + val bar: Bar = Bar() +} \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/JS/JS.iml b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/JS/JS.iml new file mode 100644 index 00000000000..3de270f43fa --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/JS/JS.iml @@ -0,0 +1,21 @@ + + + + + + Common + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/JS/src/test/test.kt b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/JS/src/test/test.kt new file mode 100644 index 00000000000..095a6a611e7 --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/JS/src/test/test.kt @@ -0,0 +1,11 @@ +package test + +class ZZZ + +actual typealias Baz = ZZZ +actual class Bar + +fun test() { + val baz: Baz = Baz() + val bar: Bar = Bar() +} \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/JVM/JVM.iml b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/JVM/JVM.iml new file mode 100644 index 00000000000..76d2b885834 --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/JVM/JVM.iml @@ -0,0 +1,21 @@ + + + + + + Common + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/JVM/src/test/test.kt b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/JVM/src/test/test.kt new file mode 100644 index 00000000000..65e2d16ad2e --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/after/JVM/src/test/test.kt @@ -0,0 +1,9 @@ +package test + +actual class Baz +actual class Bar + +fun test() { + val baz: Baz = Baz() + val bar: Bar = Bar() +} \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/Common/Common.iml b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/Common/Common.iml new file mode 100644 index 00000000000..0ecf9949f6c --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/Common/Common.iml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/Common/src/test/test.kt b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/Common/src/test/test.kt new file mode 100644 index 00000000000..3b14697a795 --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/Common/src/test/test.kt @@ -0,0 +1,9 @@ +package test + +expect class Foo +expect class Bar + +fun test() { + val foo: Foo = Foo() + val bar: Bar = Bar() +} \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/JS/JS.iml b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/JS/JS.iml new file mode 100644 index 00000000000..3de270f43fa --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/JS/JS.iml @@ -0,0 +1,21 @@ + + + + + + Common + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/JS/src/test/test.kt b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/JS/src/test/test.kt new file mode 100644 index 00000000000..a69b1886e6a --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/JS/src/test/test.kt @@ -0,0 +1,11 @@ +package test + +class ZZZ + +actual typealias /*rename*/Foo = ZZZ +actual class Bar + +fun test() { + val foo: Foo = Foo() + val bar: Bar = Bar() +} \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/JVM/JVM.iml b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/JVM/JVM.iml new file mode 100644 index 00000000000..76d2b885834 --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/JVM/JVM.iml @@ -0,0 +1,21 @@ + + + + + + Common + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/JVM/src/test/test.kt b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/JVM/src/test/test.kt new file mode 100644 index 00000000000..c89a91e72c9 --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/before/JVM/src/test/test.kt @@ -0,0 +1,9 @@ +package test + +actual class Foo +actual class Bar + +fun test() { + val foo: Foo = Foo() + val bar: Bar = Bar() +} \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/headerAndImplClassByImplTypeAlias.test b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/headerAndImplClassByImplTypeAlias.test new file mode 100644 index 00000000000..46d0ba3b861 --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/headerAndImplClassByImplTypeAlias.test @@ -0,0 +1,6 @@ +{ + "type": "MARKED_ELEMENT", + "file": "JS/src/test/test.kt", + "newName": "Baz", + "isMultiModule": "true" +} \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/Common/Common.iml b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/Common/Common.iml new file mode 100644 index 00000000000..0ecf9949f6c --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/Common/Common.iml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/Common/src/test/test.kt b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/Common/src/test/test.kt new file mode 100644 index 00000000000..8ad57c097fd --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/Common/src/test/test.kt @@ -0,0 +1,9 @@ +package test + +expect class Baz +expect class Bar + +fun test() { + val baz: Baz = Baz() + val bar: Bar = Bar() +} \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/JS/JS.iml b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/JS/JS.iml new file mode 100644 index 00000000000..3de270f43fa --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/JS/JS.iml @@ -0,0 +1,21 @@ + + + + + + Common + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/JS/src/test/test.kt b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/JS/src/test/test.kt new file mode 100644 index 00000000000..65e2d16ad2e --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/JS/src/test/test.kt @@ -0,0 +1,9 @@ +package test + +actual class Baz +actual class Bar + +fun test() { + val baz: Baz = Baz() + val bar: Bar = Bar() +} \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/JVM/JVM.iml b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/JVM/JVM.iml new file mode 100644 index 00000000000..76d2b885834 --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/JVM/JVM.iml @@ -0,0 +1,21 @@ + + + + + + Common + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/JVM/src/test/test.kt b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/JVM/src/test/test.kt new file mode 100644 index 00000000000..095a6a611e7 --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/after/JVM/src/test/test.kt @@ -0,0 +1,11 @@ +package test + +class ZZZ + +actual typealias Baz = ZZZ +actual class Bar + +fun test() { + val baz: Baz = Baz() + val bar: Bar = Bar() +} \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/Common/Common.iml b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/Common/Common.iml new file mode 100644 index 00000000000..0ecf9949f6c --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/Common/Common.iml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/Common/src/test/test.kt b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/Common/src/test/test.kt new file mode 100644 index 00000000000..3b14697a795 --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/Common/src/test/test.kt @@ -0,0 +1,9 @@ +package test + +expect class Foo +expect class Bar + +fun test() { + val foo: Foo = Foo() + val bar: Bar = Bar() +} \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/JS/JS.iml b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/JS/JS.iml new file mode 100644 index 00000000000..3de270f43fa --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/JS/JS.iml @@ -0,0 +1,21 @@ + + + + + + Common + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/JS/src/test/test.kt b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/JS/src/test/test.kt new file mode 100644 index 00000000000..bea2489bd44 --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/JS/src/test/test.kt @@ -0,0 +1,9 @@ +package test + +actual class /*rename*/Foo +actual class Bar + +fun test() { + val foo: Foo = Foo() + val bar: Bar = Bar() +} \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/JVM/JVM.iml b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/JVM/JVM.iml new file mode 100644 index 00000000000..76d2b885834 --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/JVM/JVM.iml @@ -0,0 +1,21 @@ + + + + + + Common + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/JVM/src/test/test.kt b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/JVM/src/test/test.kt new file mode 100644 index 00000000000..00f48fcb463 --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/before/JVM/src/test/test.kt @@ -0,0 +1,11 @@ +package test + +class ZZZ + +actual typealias Foo = ZZZ +actual class Bar + +fun test() { + val foo: Foo = Foo() + val bar: Bar = Bar() +} \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/headerAndImplTypeAliasByImplClass.test b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/headerAndImplTypeAliasByImplClass.test new file mode 100644 index 00000000000..46d0ba3b861 --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/headerAndImplTypeAliasByImplClass.test @@ -0,0 +1,6 @@ +{ + "type": "MARKED_ELEMENT", + "file": "JS/src/test/test.kt", + "newName": "Baz", + "isMultiModule": "true" +} \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/Common/Common.iml b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/Common/Common.iml new file mode 100644 index 00000000000..0ecf9949f6c --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/Common/Common.iml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/Common/src/test/test.kt b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/Common/src/test/test.kt new file mode 100644 index 00000000000..8ad57c097fd --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/Common/src/test/test.kt @@ -0,0 +1,9 @@ +package test + +expect class Baz +expect class Bar + +fun test() { + val baz: Baz = Baz() + val bar: Bar = Bar() +} \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/JS/JS.iml b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/JS/JS.iml new file mode 100644 index 00000000000..3de270f43fa --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/JS/JS.iml @@ -0,0 +1,21 @@ + + + + + + Common + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/JS/src/test/test.kt b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/JS/src/test/test.kt new file mode 100644 index 00000000000..095a6a611e7 --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/JS/src/test/test.kt @@ -0,0 +1,11 @@ +package test + +class ZZZ + +actual typealias Baz = ZZZ +actual class Bar + +fun test() { + val baz: Baz = Baz() + val bar: Bar = Bar() +} \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/JVM/JVM.iml b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/JVM/JVM.iml new file mode 100644 index 00000000000..76d2b885834 --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/JVM/JVM.iml @@ -0,0 +1,21 @@ + + + + + + Common + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/JVM/src/test/test.kt b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/JVM/src/test/test.kt new file mode 100644 index 00000000000..65e2d16ad2e --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/after/JVM/src/test/test.kt @@ -0,0 +1,9 @@ +package test + +actual class Baz +actual class Bar + +fun test() { + val baz: Baz = Baz() + val bar: Bar = Bar() +} \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/Common/Common.iml b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/Common/Common.iml new file mode 100644 index 00000000000..0ecf9949f6c --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/Common/Common.iml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/Common/src/test/test.kt b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/Common/src/test/test.kt new file mode 100644 index 00000000000..619dd8a8618 --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/Common/src/test/test.kt @@ -0,0 +1,9 @@ +package test + +expect class /*rename*/Foo +expect class Bar + +fun test() { + val foo: Foo = Foo() + val bar: Bar = Bar() +} \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/JS/JS.iml b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/JS/JS.iml new file mode 100644 index 00000000000..3de270f43fa --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/JS/JS.iml @@ -0,0 +1,21 @@ + + + + + + Common + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/JS/src/test/test.kt b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/JS/src/test/test.kt new file mode 100644 index 00000000000..00f48fcb463 --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/JS/src/test/test.kt @@ -0,0 +1,11 @@ +package test + +class ZZZ + +actual typealias Foo = ZZZ +actual class Bar + +fun test() { + val foo: Foo = Foo() + val bar: Bar = Bar() +} \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/JVM/JVM.iml b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/JVM/JVM.iml new file mode 100644 index 00000000000..76d2b885834 --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/JVM/JVM.iml @@ -0,0 +1,21 @@ + + + + + + Common + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/JVM/src/test/test.kt b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/JVM/src/test/test.kt new file mode 100644 index 00000000000..c89a91e72c9 --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/before/JVM/src/test/test.kt @@ -0,0 +1,9 @@ +package test + +actual class Foo +actual class Bar + +fun test() { + val foo: Foo = Foo() + val bar: Bar = Bar() +} \ No newline at end of file diff --git a/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/implClassAndTypeAliasByHeaderClass.test b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/implClassAndTypeAliasByHeaderClass.test new file mode 100644 index 00000000000..a6df20e9631 --- /dev/null +++ b/idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/implClassAndTypeAliasByHeaderClass.test @@ -0,0 +1,6 @@ +{ + "type": "MARKED_ELEMENT", + "file": "Common/src/test/test.kt", + "newName": "Baz", + "isMultiModule": "true" +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/refactoring/rename/MultiModuleRenameTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/refactoring/rename/MultiModuleRenameTestGenerated.java index 726170ab315..3915bc687a4 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/refactoring/rename/MultiModuleRenameTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/refactoring/rename/MultiModuleRenameTestGenerated.java @@ -31,6 +31,18 @@ public class MultiModuleRenameTestGenerated extends AbstractMultiModuleRenameTes doTest(fileName); } + @TestMetadata("headerAndImplClassByImplTypeAlias/headerAndImplClassByImplTypeAlias.test") + public void testHeaderAndImplClassByImplTypeAlias_HeaderAndImplClassByImplTypeAlias() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/renameMultiModule/headerAndImplClassByImplTypeAlias/headerAndImplClassByImplTypeAlias.test"); + doTest(fileName); + } + + @TestMetadata("headerAndImplTypeAliasByImplClass/headerAndImplTypeAliasByImplClass.test") + public void testHeaderAndImplTypeAliasByImplClass_HeaderAndImplTypeAliasByImplClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/renameMultiModule/headerAndImplTypeAliasByImplClass/headerAndImplTypeAliasByImplClass.test"); + doTest(fileName); + } + @TestMetadata("headersAndImplsByHeaderClass/headersAndImplsByHeaderClass.test") public void testHeadersAndImplsByHeaderClass_HeadersAndImplsByHeaderClass() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/renameMultiModule/headersAndImplsByHeaderClass/headersAndImplsByHeaderClass.test"); @@ -139,6 +151,12 @@ public class MultiModuleRenameTestGenerated extends AbstractMultiModuleRenameTes doTest(fileName); } + @TestMetadata("implClassAndTypeAliasByHeaderClass/implClassAndTypeAliasByHeaderClass.test") + public void testImplClassAndTypeAliasByHeaderClass_ImplClassAndTypeAliasByHeaderClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/renameMultiModule/implClassAndTypeAliasByHeaderClass/implClassAndTypeAliasByHeaderClass.test"); + doTest(fileName); + } + @TestMetadata("suspendFunImplInImplModule/suspendFunImplInImplModule.test") public void testSuspendFunImplInImplModule_SuspendFunImplInImplModule() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/renameMultiModule/suspendFunImplInImplModule/suspendFunImplInImplModule.test");