diff --git a/idea/src/META-INF/plugin.xml b/idea/src/META-INF/plugin.xml index eef103c449d..27238355e53 100644 --- a/idea/src/META-INF/plugin.xml +++ b/idea/src/META-INF/plugin.xml @@ -270,7 +270,7 @@ forClass="org.jetbrains.jet.lang.psi.JetParameter"/> - + if (element.isTrait()) "Trait" else "Class" - is JetObjectDeclaration -> "Object" - is JetNamedFunction -> "Function" - is JetProperty -> "Property" - is JetTypeParameter -> "Type parameter" + val targetElement = element.getNavigationElement() + + fun elementKind() = when (targetElement) { + is JetClass -> if (targetElement.isTrait()) "trait" else "class" + is JetObjectDeclaration -> "object" + is JetNamedFunction -> "function" + is JetProperty -> "property" + is JetTypeParameter -> "type parameter" else -> null } - if (element !is PsiNamedElement || element !is JetElement) return null + if (targetElement !is PsiNamedElement || targetElement !is JetElement) return null - val name = (element as PsiNamedElement).getName() + val name = (targetElement as PsiNamedElement).getName() return when(location) { is UsageViewLongNameLocation -> name - is RefactoringDescriptionLocation -> - elementKind()?.let { kind -> "$kind $name" } + is RefactoringDescriptionLocation -> { + val kind = elementKind() + if (kind != null) { + val descriptor = (targetElement as JetDeclaration).descriptor + if (descriptor != null) { + val desc = if (location.includeParent() && targetElement !is JetTypeParameter) { + DescriptorUtils.getFqName(descriptor).asString() + } + else descriptor.getName().asString() + + "$kind $desc" + } + else null + } + else null + } else -> null } } diff --git a/idea/testData/safeDelete/deleteClass/kotlinClass/class2.kt.messages b/idea/testData/safeDelete/deleteClass/kotlinClass/class2.kt.messages index 5e786576e15..839a4f7c893 100644 --- a/idea/testData/safeDelete/deleteClass/kotlinClass/class2.kt.messages +++ b/idea/testData/safeDelete/deleteClass/kotlinClass/class2.kt.messages @@ -1 +1 @@ -Class A has 1 usage that is not safe to delete. \ No newline at end of file +class test.A has 1 usage that is not safe to delete. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteClass/kotlinClass/classInString.kt.messages b/idea/testData/safeDelete/deleteClass/kotlinClass/classInString.kt.messages index 7066f20651e..091e355ee4f 100644 --- a/idea/testData/safeDelete/deleteClass/kotlinClass/classInString.kt.messages +++ b/idea/testData/safeDelete/deleteClass/kotlinClass/classInString.kt.messages @@ -1 +1 @@ -Class A has 3 usages that are not safe to delete.Of those 2 usages are in strings, comments, non-code files or generated code. \ No newline at end of file +class test.A has 3 usages that are not safe to delete.Of those 2 usages are in strings, comments, non-code files or generated code. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteClass/kotlinClass/nestedClass2.kt.messages b/idea/testData/safeDelete/deleteClass/kotlinClass/nestedClass2.kt.messages index 8b316a4338c..00b52f628bb 100644 --- a/idea/testData/safeDelete/deleteClass/kotlinClass/nestedClass2.kt.messages +++ b/idea/testData/safeDelete/deleteClass/kotlinClass/nestedClass2.kt.messages @@ -1 +1 @@ -Class C has 1 usage that is not safe to delete. \ No newline at end of file +class test.A.C has 1 usage that is not safe to delete. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteClass/kotlinClass/trait2.kt.messages b/idea/testData/safeDelete/deleteClass/kotlinClass/trait2.kt.messages index 753836123a2..1d4a53dbb2e 100644 --- a/idea/testData/safeDelete/deleteClass/kotlinClass/trait2.kt.messages +++ b/idea/testData/safeDelete/deleteClass/kotlinClass/trait2.kt.messages @@ -1 +1 @@ -Trait A has 1 usage that is not safe to delete. \ No newline at end of file +trait test.A has 1 usage that is not safe to delete. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteClass/kotlinClass/unsafeImport.kt.messages b/idea/testData/safeDelete/deleteClass/kotlinClass/unsafeImport.kt.messages index 5e786576e15..839a4f7c893 100644 --- a/idea/testData/safeDelete/deleteClass/kotlinClass/unsafeImport.kt.messages +++ b/idea/testData/safeDelete/deleteClass/kotlinClass/unsafeImport.kt.messages @@ -1 +1 @@ -Class A has 1 usage that is not safe to delete. \ No newline at end of file +class test.A has 1 usage that is not safe to delete. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteFunction/kotlinFunction/fun2.kt.messages b/idea/testData/safeDelete/deleteFunction/kotlinFunction/fun2.kt.messages index 01056c0edde..9294f312f7c 100644 --- a/idea/testData/safeDelete/deleteFunction/kotlinFunction/fun2.kt.messages +++ b/idea/testData/safeDelete/deleteFunction/kotlinFunction/fun2.kt.messages @@ -1 +1 @@ -Function foo has 1 usage that is not safe to delete. \ No newline at end of file +function test.foo has 1 usage that is not safe to delete. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteObject/kotlinObject/nestedObject2.kt.messages b/idea/testData/safeDelete/deleteObject/kotlinObject/nestedObject2.kt.messages index 28c17364a1b..84f072b7092 100644 --- a/idea/testData/safeDelete/deleteObject/kotlinObject/nestedObject2.kt.messages +++ b/idea/testData/safeDelete/deleteObject/kotlinObject/nestedObject2.kt.messages @@ -1 +1 @@ -Object O has 1 usage that is not safe to delete. \ No newline at end of file +object test.A.O has 1 usage that is not safe to delete. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteObject/kotlinObject/object2.kt.messages b/idea/testData/safeDelete/deleteObject/kotlinObject/object2.kt.messages index 6b06de6618e..35d6c9b8007 100644 --- a/idea/testData/safeDelete/deleteObject/kotlinObject/object2.kt.messages +++ b/idea/testData/safeDelete/deleteObject/kotlinObject/object2.kt.messages @@ -1 +1 @@ -Object A has 1 usage that is not safe to delete. \ No newline at end of file +object test.A has 1 usage that is not safe to delete. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteObject/kotlinObject/unsafeImport.kt.messages b/idea/testData/safeDelete/deleteObject/kotlinObject/unsafeImport.kt.messages index 6b06de6618e..35d6c9b8007 100644 --- a/idea/testData/safeDelete/deleteObject/kotlinObject/unsafeImport.kt.messages +++ b/idea/testData/safeDelete/deleteObject/kotlinObject/unsafeImport.kt.messages @@ -1 +1 @@ -Object A has 1 usage that is not safe to delete. \ No newline at end of file +object test.A has 1 usage that is not safe to delete. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteProperty/javaPropertyWithKotlin/middleJava2.kt.messages b/idea/testData/safeDelete/deleteProperty/javaPropertyWithKotlin/middleJava2.kt.messages index d9e387cd6cf..a420086b373 100644 --- a/idea/testData/safeDelete/deleteProperty/javaPropertyWithKotlin/middleJava2.kt.messages +++ b/idea/testData/safeDelete/deleteProperty/javaPropertyWithKotlin/middleJava2.kt.messages @@ -1 +1 @@ -method C.getFoo() implements method B.getFoo(). \ No newline at end of file +method C.getFoo() implements property B.foo. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteProperty/javaPropertyWithKotlin/middleJava4.kt.messages b/idea/testData/safeDelete/deleteProperty/javaPropertyWithKotlin/middleJava4.kt.messages index d9e387cd6cf..a420086b373 100644 --- a/idea/testData/safeDelete/deleteProperty/javaPropertyWithKotlin/middleJava4.kt.messages +++ b/idea/testData/safeDelete/deleteProperty/javaPropertyWithKotlin/middleJava4.kt.messages @@ -1 +1 @@ -method C.getFoo() implements method B.getFoo(). \ No newline at end of file +method C.getFoo() implements property B.foo. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteProperty/javaPropertyWithKotlin/middleJava6.kt.messages b/idea/testData/safeDelete/deleteProperty/javaPropertyWithKotlin/middleJava6.kt.messages index 4756057b5ef..af60915909a 100644 --- a/idea/testData/safeDelete/deleteProperty/javaPropertyWithKotlin/middleJava6.kt.messages +++ b/idea/testData/safeDelete/deleteProperty/javaPropertyWithKotlin/middleJava6.kt.messages @@ -1 +1 @@ -method C.setFoo(String) implements method B.setFoo(String). \ No newline at end of file +method C.setFoo(String) implements property B.foo. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteProperty/kotlinProperty/property2.kt.messages b/idea/testData/safeDelete/deleteProperty/kotlinProperty/property2.kt.messages index 7710de6276e..d43eee6b09e 100644 --- a/idea/testData/safeDelete/deleteProperty/kotlinProperty/property2.kt.messages +++ b/idea/testData/safeDelete/deleteProperty/kotlinProperty/property2.kt.messages @@ -1 +1 @@ -Property foo has 1 usage that is not safe to delete. \ No newline at end of file +property test.foo has 1 usage that is not safe to delete. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages1.kt.messages b/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages1.kt.messages index c2d9bff37b6..636a5c5e366 100644 --- a/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages1.kt.messages +++ b/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages1.kt.messages @@ -1 +1 @@ -Type parameter X has 1 usage that is not safe to delete. \ No newline at end of file +type parameter X has 1 usage that is not safe to delete. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages2.kt.messages b/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages2.kt.messages index 83bd08b49ea..19e1ce755cc 100644 --- a/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages2.kt.messages +++ b/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages2.kt.messages @@ -1 +1 @@ -Type parameter Y has 1 usage that is not safe to delete. \ No newline at end of file +type parameter Y has 1 usage that is not safe to delete. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages3.kt.messages b/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages3.kt.messages index e303a690e92..bc5506faca0 100644 --- a/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages3.kt.messages +++ b/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages3.kt.messages @@ -1 +1 @@ -Type parameter X has 2 usages that are not safe to delete. \ No newline at end of file +type parameter X has 2 usages that are not safe to delete. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages4.kt.messages b/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages4.kt.messages index c2d9bff37b6..636a5c5e366 100644 --- a/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages4.kt.messages +++ b/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages4.kt.messages @@ -1 +1 @@ -Type parameter X has 1 usage that is not safe to delete. \ No newline at end of file +type parameter X has 1 usage that is not safe to delete. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages5.kt.messages b/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages5.kt.messages index c2d9bff37b6..636a5c5e366 100644 --- a/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages5.kt.messages +++ b/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages5.kt.messages @@ -1 +1 @@ -Type parameter X has 1 usage that is not safe to delete. \ No newline at end of file +type parameter X has 1 usage that is not safe to delete. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages1.kt.messages b/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages1.kt.messages index c2d9bff37b6..636a5c5e366 100644 --- a/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages1.kt.messages +++ b/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages1.kt.messages @@ -1 +1 @@ -Type parameter X has 1 usage that is not safe to delete. \ No newline at end of file +type parameter X has 1 usage that is not safe to delete. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages2.kt.messages b/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages2.kt.messages index 83bd08b49ea..19e1ce755cc 100644 --- a/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages2.kt.messages +++ b/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages2.kt.messages @@ -1 +1 @@ -Type parameter Y has 1 usage that is not safe to delete. \ No newline at end of file +type parameter Y has 1 usage that is not safe to delete. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages3.kt.messages b/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages3.kt.messages index e303a690e92..bc5506faca0 100644 --- a/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages3.kt.messages +++ b/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages3.kt.messages @@ -1 +1 @@ -Type parameter X has 2 usages that are not safe to delete. \ No newline at end of file +type parameter X has 2 usages that are not safe to delete. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages4.kt.messages b/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages4.kt.messages index c2d9bff37b6..636a5c5e366 100644 --- a/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages4.kt.messages +++ b/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages4.kt.messages @@ -1 +1 @@ -Type parameter X has 1 usage that is not safe to delete. \ No newline at end of file +type parameter X has 1 usage that is not safe to delete. \ No newline at end of file diff --git a/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages5.kt.messages b/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages5.kt.messages index c2d9bff37b6..636a5c5e366 100644 --- a/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages5.kt.messages +++ b/idea/testData/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages5.kt.messages @@ -1 +1 @@ -Type parameter X has 1 usage that is not safe to delete. \ No newline at end of file +type parameter X has 1 usage that is not safe to delete. \ No newline at end of file