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