diff --git a/core/descriptors/src/org/jetbrains/kotlin/name/ClassId.java b/core/descriptors/src/org/jetbrains/kotlin/name/ClassId.java index 20929b9527d..13f1a00dae5 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/name/ClassId.java +++ b/core/descriptors/src/org/jetbrains/kotlin/name/ClassId.java @@ -108,4 +108,15 @@ public final class ClassId { if (packageFqName.isRoot()) return "/" + relativeClassName; return packageFqName.toString().replace('.', '/') + "/" + relativeClassName; } + + @NotNull + public static ClassId fromString(@NotNull String string) { + int lastSlash = string.lastIndexOf("/"); + if (lastSlash == -1) { + throw new IllegalArgumentException("Class id should contain slash: " + string); + } + FqNameUnsafe relativeClassName = new FqNameUnsafe(string.substring(lastSlash + 1)); + FqName packageFqName = new FqName(string.substring(0, lastSlash).replace('/', '.')); + return new ClassId(packageFqName, relativeClassName, false); + } } diff --git a/idea/testData/refactoring/rename/renameCompareTo/compareTo.test b/idea/testData/refactoring/rename/renameCompareTo/compareTo.test index 6ccee8cbbc4..fd6b1a387a6 100644 --- a/idea/testData/refactoring/rename/renameCompareTo/compareTo.test +++ b/idea/testData/refactoring/rename/renameCompareTo/compareTo.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_FUNCTION", - "classFQN": "A", + "classId": "/A", "oldName": "compareTo", "newName": "foo", "mainFile": "compareTo.kt" diff --git a/idea/testData/refactoring/rename/renameContains/contains.test b/idea/testData/refactoring/rename/renameContains/contains.test index c80f2715acc..205a31979ae 100644 --- a/idea/testData/refactoring/rename/renameContains/contains.test +++ b/idea/testData/refactoring/rename/renameContains/contains.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_FUNCTION", - "classFQN": "A", + "classId": "/A", "oldName": "contains", "newName": "foo", "mainFile": "contains.kt" diff --git a/idea/testData/refactoring/rename/renameContainsWithConflicts/containsWithConflicts.test b/idea/testData/refactoring/rename/renameContainsWithConflicts/containsWithConflicts.test index 719f77c2707..63aee599e88 100644 --- a/idea/testData/refactoring/rename/renameContainsWithConflicts/containsWithConflicts.test +++ b/idea/testData/refactoring/rename/renameContainsWithConflicts/containsWithConflicts.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_FUNCTION", - "classFQN": "A", + "classId": "/A", "oldName": "contains", "newName": "foo", "mainFile": "containsWithConflicts.kt", diff --git a/idea/testData/refactoring/rename/renameEquals/equals.test b/idea/testData/refactoring/rename/renameEquals/equals.test index 06ad435519b..8db83e8f0b4 100644 --- a/idea/testData/refactoring/rename/renameEquals/equals.test +++ b/idea/testData/refactoring/rename/renameEquals/equals.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_FUNCTION", - "classFQN": "A", + "classId": "/A", "oldName": "equals", "newName": "foo", "mainFile": "equals.kt" diff --git a/idea/testData/refactoring/rename/renameExplicitComponentFunction/explicitComponentFunction.test b/idea/testData/refactoring/rename/renameExplicitComponentFunction/explicitComponentFunction.test index 0c5ed8aea5c..c3eaa94a2ad 100644 --- a/idea/testData/refactoring/rename/renameExplicitComponentFunction/explicitComponentFunction.test +++ b/idea/testData/refactoring/rename/renameExplicitComponentFunction/explicitComponentFunction.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_FUNCTION", - "classFQN": "A", + "classId": "/A", "oldName": "component1", "newName": "foo", "mainFile": "explicitComponentFunction.kt", diff --git a/idea/testData/refactoring/rename/renameGet/get.test b/idea/testData/refactoring/rename/renameGet/get.test index 5a018eca58e..467870db426 100644 --- a/idea/testData/refactoring/rename/renameGet/get.test +++ b/idea/testData/refactoring/rename/renameGet/get.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_FUNCTION", - "classFQN": "A", + "classId": "/A", "oldName": "get", "newName": "foo", "mainFile": "get.kt" diff --git a/idea/testData/refactoring/rename/renameInc/inc.test b/idea/testData/refactoring/rename/renameInc/inc.test index 1d1f30df8c2..17dfc950877 100644 --- a/idea/testData/refactoring/rename/renameInc/inc.test +++ b/idea/testData/refactoring/rename/renameInc/inc.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_FUNCTION", - "classFQN": "A", + "classId": "/A", "oldName": "inc", "newName": "foo", "mainFile": "inc.kt", diff --git a/idea/testData/refactoring/rename/renameInvoke/invoke.test b/idea/testData/refactoring/rename/renameInvoke/invoke.test index 77375211b4f..db1b7391872 100644 --- a/idea/testData/refactoring/rename/renameInvoke/invoke.test +++ b/idea/testData/refactoring/rename/renameInvoke/invoke.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_FUNCTION", - "classFQN": "A", + "classId": "/A", "oldName": "invoke", "newName": "foo", "mainFile": "invoke.kt" diff --git a/idea/testData/refactoring/rename/renameIterator/iterator.test b/idea/testData/refactoring/rename/renameIterator/iterator.test index 8fd734de611..c2c4804201e 100644 --- a/idea/testData/refactoring/rename/renameIterator/iterator.test +++ b/idea/testData/refactoring/rename/renameIterator/iterator.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_FUNCTION", - "classFQN": "A", + "classId": "/A", "oldName": "iterator", "newName": "foo", "mainFile": "iterator.kt", diff --git a/idea/testData/refactoring/rename/renameJavaClass/renameJavaClass.test b/idea/testData/refactoring/rename/renameJavaClass/renameJavaClass.test index 890ec0bac53..f2981762458 100644 --- a/idea/testData/refactoring/rename/renameJavaClass/renameJavaClass.test +++ b/idea/testData/refactoring/rename/renameJavaClass/renameJavaClass.test @@ -1,5 +1,5 @@ { "type": "JAVA_CLASS", - "classFQN": "testing.SomeClass", + "classId": "testing/SomeClass", "newName": "NewName" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameJavaInterface/renameJavaInterface.test b/idea/testData/refactoring/rename/renameJavaInterface/renameJavaInterface.test index 3f6bba935f0..102b82ac1df 100644 --- a/idea/testData/refactoring/rename/renameJavaInterface/renameJavaInterface.test +++ b/idea/testData/refactoring/rename/renameJavaInterface/renameJavaInterface.test @@ -1,6 +1,6 @@ { "type": "JAVA_CLASS", - "classFQN": "testing.SomeInterface", + "classId": "testing/SomeInterface", "newName": "NewInterfaceName", "comment": "For KT-4100 Imports doesn't change after java interface name refactoring" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameJavaMethod/javaBaseMethod.test b/idea/testData/refactoring/rename/renameJavaMethod/javaBaseMethod.test index c27ff5a510b..990339fde22 100644 --- a/idea/testData/refactoring/rename/renameJavaMethod/javaBaseMethod.test +++ b/idea/testData/refactoring/rename/renameJavaMethod/javaBaseMethod.test @@ -1,6 +1,6 @@ { "type": "JAVA_METHOD", - "classFQN": "testing.JavaClass", + "classId": "testing/JavaClass", "methodSignature": "String foo()", "newName": "bar" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameJavaMethod/kotlinOverridenMethod.test b/idea/testData/refactoring/rename/renameJavaMethod/kotlinOverridenMethod.test index ba46061895a..2bd314b0255 100644 --- a/idea/testData/refactoring/rename/renameJavaMethod/kotlinOverridenMethod.test +++ b/idea/testData/refactoring/rename/renameJavaMethod/kotlinOverridenMethod.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_FUNCTION", - "classFQN": "testing.kotlin.KotlinClass", + "classId": "testing/kotlin/KotlinClass", "oldName": "foo", "newName": "bar", "mainFile": "MethodUsages.kt" diff --git a/idea/testData/refactoring/rename/renameKotlinBaseMethod/javaWrapperForBaseFunction.test b/idea/testData/refactoring/rename/renameKotlinBaseMethod/javaWrapperForBaseFunction.test index 1c23ae82abc..28ce5806da4 100644 --- a/idea/testData/refactoring/rename/renameKotlinBaseMethod/javaWrapperForBaseFunction.test +++ b/idea/testData/refactoring/rename/renameKotlinBaseMethod/javaWrapperForBaseFunction.test @@ -1,6 +1,6 @@ { "type": "JAVA_METHOD", - "classFQN": "testing.rename.A", + "classId": "testing/rename/A", "methodSignature": "void first()", "newName": "second" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameKotlinBaseMethod/javaWrapperForOverridenFunctionWithKotlinBase.test b/idea/testData/refactoring/rename/renameKotlinBaseMethod/javaWrapperForOverridenFunctionWithKotlinBase.test index 9fe63b7f986..d7bef7a5fc3 100644 --- a/idea/testData/refactoring/rename/renameKotlinBaseMethod/javaWrapperForOverridenFunctionWithKotlinBase.test +++ b/idea/testData/refactoring/rename/renameKotlinBaseMethod/javaWrapperForOverridenFunctionWithKotlinBase.test @@ -1,6 +1,6 @@ { "type": "JAVA_METHOD", - "classFQN": "testing.JavaClient.D", + "classId": "testing/JavaClient.D", "methodSignature": "void first()", "newName": "second" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameKotlinBaseMethod/kotlinBaseFunction.test b/idea/testData/refactoring/rename/renameKotlinBaseMethod/kotlinBaseFunction.test index ef591a70813..45a35654024 100644 --- a/idea/testData/refactoring/rename/renameKotlinBaseMethod/kotlinBaseFunction.test +++ b/idea/testData/refactoring/rename/renameKotlinBaseMethod/kotlinBaseFunction.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_FUNCTION", - "classFQN": "testing.rename.A", + "classId": "testing/rename/A", "oldName": "first", "newName": "second", "comment": "KT-2836 Rename method with all its implementations" diff --git a/idea/testData/refactoring/rename/renameKotlinClass/javaWrapperForKotlinClass.test b/idea/testData/refactoring/rename/renameKotlinClass/javaWrapperForKotlinClass.test index dfb8d1de7bd..c5b5abed02d 100644 --- a/idea/testData/refactoring/rename/renameKotlinClass/javaWrapperForKotlinClass.test +++ b/idea/testData/refactoring/rename/renameKotlinClass/javaWrapperForKotlinClass.test @@ -1,5 +1,5 @@ { "type": "JAVA_CLASS", - "classFQN": "testing.rename.First", + "classId": "testing/rename/First", "newName": "Third" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameKotlinClass/kotlinClass.test b/idea/testData/refactoring/rename/renameKotlinClass/kotlinClass.test index 37fa91172bc..dd7c33c5f17 100644 --- a/idea/testData/refactoring/rename/renameKotlinClass/kotlinClass.test +++ b/idea/testData/refactoring/rename/renameKotlinClass/kotlinClass.test @@ -1,5 +1,5 @@ { "type": "KOTLIN_CLASS", - "classFQN": "testing.rename.First", + "classId": "testing/rename/First", "newName": "Third" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameKotlinClassConstructor/renameKotlinConstructor.test b/idea/testData/refactoring/rename/renameKotlinClassConstructor/renameKotlinConstructor.test index cf5b0e470e2..604e88d0525 100644 --- a/idea/testData/refactoring/rename/renameKotlinClassConstructor/renameKotlinConstructor.test +++ b/idea/testData/refactoring/rename/renameKotlinClassConstructor/renameKotlinConstructor.test @@ -1,5 +1,5 @@ { "type": "KOTLIN_CLASS", - "classFQN": "X", + "classId": "/X", "newName": "TestX" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameKotlinClassWithFile/javaClassWrapper.test b/idea/testData/refactoring/rename/renameKotlinClassWithFile/javaClassWrapper.test index 3cc1e06a8a6..ef552f3cd4a 100644 --- a/idea/testData/refactoring/rename/renameKotlinClassWithFile/javaClassWrapper.test +++ b/idea/testData/refactoring/rename/renameKotlinClassWithFile/javaClassWrapper.test @@ -1,5 +1,5 @@ { "type": "JAVA_CLASS", - "classFQN": "testing.ClassBefore", + "classId": "testing/ClassBefore", "newName": "ClassAfter" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameKotlinClassWithFile/kotlinClass.test b/idea/testData/refactoring/rename/renameKotlinClassWithFile/kotlinClass.test index c966523e9f9..78579742dd4 100644 --- a/idea/testData/refactoring/rename/renameKotlinClassWithFile/kotlinClass.test +++ b/idea/testData/refactoring/rename/renameKotlinClassWithFile/kotlinClass.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_CLASS", - "classFQN": "testing.ClassBefore", + "classId": "testing/ClassBefore", "newName": "ClassAfter", "mainFile": "ClassBefore.kt" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameKotlinEnum/renameKotlinEnum.test b/idea/testData/refactoring/rename/renameKotlinEnum/renameKotlinEnum.test index 2e9e726c83b..d92190af2eb 100644 --- a/idea/testData/refactoring/rename/renameKotlinEnum/renameKotlinEnum.test +++ b/idea/testData/refactoring/rename/renameKotlinEnum/renameKotlinEnum.test @@ -1,5 +1,5 @@ { "type": "KOTLIN_CLASS", - "classFQN": "test.E", + "classId": "test/E", "newName": "D" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameKotlinFunctionInEnum/renameKotlinFunctionInEnum.test b/idea/testData/refactoring/rename/renameKotlinFunctionInEnum/renameKotlinFunctionInEnum.test index a6826025484..6b82b5f777b 100644 --- a/idea/testData/refactoring/rename/renameKotlinFunctionInEnum/renameKotlinFunctionInEnum.test +++ b/idea/testData/refactoring/rename/renameKotlinFunctionInEnum/renameKotlinFunctionInEnum.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_FUNCTION", - "classFQN": "test.E", + "classId": "test/E", "oldName": "foo", "newName": "bar" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameKotlinMethod/javaWrapperForKotlinMethod.test b/idea/testData/refactoring/rename/renameKotlinMethod/javaWrapperForKotlinMethod.test index 59a3f619c44..a17176340e6 100644 --- a/idea/testData/refactoring/rename/renameKotlinMethod/javaWrapperForKotlinMethod.test +++ b/idea/testData/refactoring/rename/renameKotlinMethod/javaWrapperForKotlinMethod.test @@ -1,6 +1,6 @@ { "type": "JAVA_METHOD", - "classFQN": "testing.rename.C", + "classId": "testing/rename/C", "methodSignature": "int first()", "newName": "second", "comment": "KT-3256 Can't rename a Kotlin function from Java code" diff --git a/idea/testData/refactoring/rename/renameKotlinMethod/renameKotlinMethod.test b/idea/testData/refactoring/rename/renameKotlinMethod/renameKotlinMethod.test index b0b4c5190ca..1829212b581 100644 --- a/idea/testData/refactoring/rename/renameKotlinMethod/renameKotlinMethod.test +++ b/idea/testData/refactoring/rename/renameKotlinMethod/renameKotlinMethod.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_FUNCTION", - "classFQN": "testing.rename.C", + "classId": "testing/rename/C", "oldName": "first", "newName": "second" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameKotlinPackageClass/javaWrapperForKotlinPackageClass.test b/idea/testData/refactoring/rename/renameKotlinPackageClass/javaWrapperForKotlinPackageClass.test index 3f0b79938c7..e54dc5fb90e 100644 --- a/idea/testData/refactoring/rename/renameKotlinPackageClass/javaWrapperForKotlinPackageClass.test +++ b/idea/testData/refactoring/rename/renameKotlinPackageClass/javaWrapperForKotlinPackageClass.test @@ -1,6 +1,6 @@ { "type": "JAVA_CLASS", "hint": "Can\u0027t rename kotlin package class", - "classFQN": "testing.rename.RenamePackage", + "classId": "testing/rename/RenamePackage", "newName": "NewPackageName" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameKotlinPackageFunctionFromJava/renameKotlinPackageFunctionFromJava.test b/idea/testData/refactoring/rename/renameKotlinPackageFunctionFromJava/renameKotlinPackageFunctionFromJava.test index 70feefbf1c7..510e30f32b1 100644 --- a/idea/testData/refactoring/rename/renameKotlinPackageFunctionFromJava/renameKotlinPackageFunctionFromJava.test +++ b/idea/testData/refactoring/rename/renameKotlinPackageFunctionFromJava/renameKotlinPackageFunctionFromJava.test @@ -1,6 +1,6 @@ { "type": "JAVA_METHOD", - "classFQN": "testing.rename.RenamePackage", + "classId": "testing/rename/RenamePackage", "methodSignature": "int foo()", "newName": "bar" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameKotlinValProperty/renameAsJavaGetterForExplicitGetter.test b/idea/testData/refactoring/rename/renameKotlinValProperty/renameAsJavaGetterForExplicitGetter.test index 7d797059863..5aaa7908295 100644 --- a/idea/testData/refactoring/rename/renameKotlinValProperty/renameAsJavaGetterForExplicitGetter.test +++ b/idea/testData/refactoring/rename/renameKotlinValProperty/renameAsJavaGetterForExplicitGetter.test @@ -1,6 +1,6 @@ { "type": "JAVA_METHOD", - "classFQN": "testing.rename.BP", + "classId": "testing/rename/BP", "methodSignature": "int getFirst()", "newName": "second" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameKotlinValProperty/renameBase.test b/idea/testData/refactoring/rename/renameKotlinValProperty/renameBase.test index 1c05659839e..b45f5bead95 100644 --- a/idea/testData/refactoring/rename/renameKotlinValProperty/renameBase.test +++ b/idea/testData/refactoring/rename/renameKotlinValProperty/renameBase.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_PROPERTY", - "classFQN": "testing.rename.AP", + "classId": "testing/rename/AP", "oldName": "first", "newName": "second" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameKotlinValProperty/renameOverriden.test b/idea/testData/refactoring/rename/renameKotlinValProperty/renameOverriden.test index 6dc1146a601..a9d15bf278f 100644 --- a/idea/testData/refactoring/rename/renameKotlinValProperty/renameOverriden.test +++ b/idea/testData/refactoring/rename/renameKotlinValProperty/renameOverriden.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_PROPERTY", - "classFQN": "testing.rename.CP", + "classId": "testing/rename/CP", "oldName": "first", "newName": "second" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameKotlinVarProperty/renameAsJavaGetter.test b/idea/testData/refactoring/rename/renameKotlinVarProperty/renameAsJavaGetter.test index f46433034e1..b613512f7d0 100644 --- a/idea/testData/refactoring/rename/renameKotlinVarProperty/renameAsJavaGetter.test +++ b/idea/testData/refactoring/rename/renameKotlinVarProperty/renameAsJavaGetter.test @@ -1,6 +1,6 @@ { "type": "JAVA_METHOD", - "classFQN": "testing.rename.AP", + "classId": "testing/rename/AP", "methodSignature": "int getFirst()", "newName": "second" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameKotlinVarProperty/renameAsJavaSetter.test b/idea/testData/refactoring/rename/renameKotlinVarProperty/renameAsJavaSetter.test index 9e7c32d4031..365752529b0 100644 --- a/idea/testData/refactoring/rename/renameKotlinVarProperty/renameAsJavaSetter.test +++ b/idea/testData/refactoring/rename/renameKotlinVarProperty/renameAsJavaSetter.test @@ -1,6 +1,6 @@ { "type": "JAVA_METHOD", - "classFQN": "testing.rename.AP", + "classId": "testing/rename/AP", "methodSignature": "void setFirst(int value)", "newName": "second" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameKotlinVarProperty/renameBase.test b/idea/testData/refactoring/rename/renameKotlinVarProperty/renameBase.test index 1c05659839e..b45f5bead95 100644 --- a/idea/testData/refactoring/rename/renameKotlinVarProperty/renameBase.test +++ b/idea/testData/refactoring/rename/renameKotlinVarProperty/renameBase.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_PROPERTY", - "classFQN": "testing.rename.AP", + "classId": "testing/rename/AP", "oldName": "first", "newName": "second" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renameKotlinVarProperty/renameOverriden.test b/idea/testData/refactoring/rename/renameKotlinVarProperty/renameOverriden.test index e24e5b24769..d0f1ba79588 100644 --- a/idea/testData/refactoring/rename/renameKotlinVarProperty/renameOverriden.test +++ b/idea/testData/refactoring/rename/renameKotlinVarProperty/renameOverriden.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_PROPERTY", - "classFQN": "testing.rename.BP", + "classId": "testing/rename/BP", "oldName": "first", "newName": "second" } \ No newline at end of file diff --git a/idea/testData/refactoring/rename/renamePlus/plus.test b/idea/testData/refactoring/rename/renamePlus/plus.test index 894c27a333f..ef2bdd6fffe 100644 --- a/idea/testData/refactoring/rename/renamePlus/plus.test +++ b/idea/testData/refactoring/rename/renamePlus/plus.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_FUNCTION", - "classFQN": "A", + "classId": "/A", "oldName": "plus", "newName": "foo", "mainFile": "plus.kt" diff --git a/idea/testData/refactoring/rename/renamePlusAssign/plusAssign.test b/idea/testData/refactoring/rename/renamePlusAssign/plusAssign.test index 26135dac894..acff60600cb 100644 --- a/idea/testData/refactoring/rename/renamePlusAssign/plusAssign.test +++ b/idea/testData/refactoring/rename/renamePlusAssign/plusAssign.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_FUNCTION", - "classFQN": "A", + "classId": "/A", "oldName": "plusAssign", "newName": "foo", "mainFile": "plusAssign.kt" diff --git a/idea/testData/refactoring/rename/renameSet/set.test b/idea/testData/refactoring/rename/renameSet/set.test index ab45896ef59..fcc0a727f95 100644 --- a/idea/testData/refactoring/rename/renameSet/set.test +++ b/idea/testData/refactoring/rename/renameSet/set.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_FUNCTION", - "classFQN": "A", + "classId": "/A", "oldName": "set", "newName": "foo", "mainFile": "set.kt" diff --git a/idea/testData/refactoring/rename/renameSynthesizedComponentFunction/synthesizedComponentFunction.test b/idea/testData/refactoring/rename/renameSynthesizedComponentFunction/synthesizedComponentFunction.test index 097e87861f0..a675a4c93b5 100644 --- a/idea/testData/refactoring/rename/renameSynthesizedComponentFunction/synthesizedComponentFunction.test +++ b/idea/testData/refactoring/rename/renameSynthesizedComponentFunction/synthesizedComponentFunction.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_PROPERTY", - "classFQN": "A", + "classId": "/A", "oldName": "n", "newName": "foo", "mainFile": "synthesizedComponentFunction.kt" diff --git a/idea/testData/refactoring/rename/renameUnaryMinus/unaryMinus.test b/idea/testData/refactoring/rename/renameUnaryMinus/unaryMinus.test index d14734240d6..93e0b1a2a6a 100644 --- a/idea/testData/refactoring/rename/renameUnaryMinus/unaryMinus.test +++ b/idea/testData/refactoring/rename/renameUnaryMinus/unaryMinus.test @@ -1,6 +1,6 @@ { "type": "KOTLIN_FUNCTION", - "classFQN": "A", + "classId": "/A", "oldName": "minus", "newName": "foo", "mainFile": "unaryMinus.kt" diff --git a/idea/tests/org/jetbrains/kotlin/idea/refactoring/rename/AbstractRenameTest.kt b/idea/tests/org/jetbrains/kotlin/idea/refactoring/rename/AbstractRenameTest.kt index 2675a1334bc..a861694088b 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/refactoring/rename/AbstractRenameTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/refactoring/rename/AbstractRenameTest.kt @@ -34,11 +34,8 @@ import com.intellij.psi.JavaPsiFacade import com.intellij.openapi.project.Project import com.intellij.openapi.module.Module import java.util.Collections -import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptor -import org.jetbrains.kotlin.name.FqNameUnsafe -import org.jetbrains.kotlin.name.isSubpackageOf import org.jetbrains.kotlin.idea.refactoring.move.getString import org.jetbrains.kotlin.idea.refactoring.move.getNullableString import org.jetbrains.kotlin.idea.search.allScope @@ -47,8 +44,9 @@ import com.intellij.refactoring.BaseRefactoringProcessor.ConflictsInTestsExcepti import com.intellij.refactoring.util.CommonRefactoringUtil.RefactoringErrorHintException import org.jetbrains.kotlin.idea.KotlinMultiFileTestCase import org.jetbrains.kotlin.idea.caches.resolve.analyzeFullyAndGetResult +import org.jetbrains.kotlin.name.* import org.jetbrains.kotlin.resolve.descriptorUtil.resolveTopLevelClass -import org.jetbrains.kotlin.name.FqName +import org.jetbrains.kotlin.serialization.deserialization.findClassAcrossModuleDependencies private enum class RenameType { JAVA_CLASS @@ -105,7 +103,7 @@ public abstract class AbstractRenameTest : KotlinMultiFileTestCase() { } private fun renameJavaClassTest(renameParamsObject: JsonObject, context: TestContext) { - val classFQN = renameParamsObject.getString("classFQN") + val classFQN = ClassId.fromString(renameParamsObject.getString("classId")).asSingleFqName().asString() val newName = renameParamsObject.getString("newName") doTestCommittingDocuments { rootDir, rootAfter -> @@ -117,7 +115,7 @@ public abstract class AbstractRenameTest : KotlinMultiFileTestCase() { } private fun renameJavaMethodTest(renameParamsObject: JsonObject, context: TestContext) { - val classFQN = renameParamsObject.getString("classFQN") + val classFQN = ClassId.fromString(renameParamsObject.getString("classId")).asSingleFqName().asString() val methodSignature = renameParamsObject.getString("methodSignature") val newName = renameParamsObject.getString("newName") @@ -182,7 +180,7 @@ public abstract class AbstractRenameTest : KotlinMultiFileTestCase() { private fun doRenameInKotlinClass( renameParamsObject: JsonObject, context: TestContext, findDescriptorToRename: (ClassDescriptor) -> DeclarationDescriptor ) { - val classFqName = FqName(renameParamsObject.getString("classFQN")) + val classId = ClassId.fromString(renameParamsObject.getString("classId")) val newName = renameParamsObject.getString("newName") val mainFilePath = renameParamsObject.getNullableString("mainFile") ?: "${getTestDirName(false)}.kt" @@ -192,7 +190,7 @@ public abstract class AbstractRenameTest : KotlinMultiFileTestCase() { val jetFile = PsiDocumentManager.getInstance(context.project).getPsiFile(document) as JetFile val module = jetFile.analyzeFullyAndGetResult().moduleDescriptor - val classDescriptor = module.resolveTopLevelClass(classFqName)!! + val classDescriptor = module.findClassAcrossModuleDependencies(classId)!! val psiElement = DescriptorToSourceUtils.descriptorToDeclaration(findDescriptorToRename(classDescriptor))!!