Safe Delete: Do not replace SafeDeleteOverrideAnnotation for Java methods
#KT-23613 Fixed
This commit is contained in:
+7
-3
@@ -47,6 +47,7 @@ import org.jetbrains.kotlin.idea.refactoring.checkSuperMethods
|
|||||||
import org.jetbrains.kotlin.idea.refactoring.formatClass
|
import org.jetbrains.kotlin.idea.refactoring.formatClass
|
||||||
import org.jetbrains.kotlin.idea.refactoring.formatFunction
|
import org.jetbrains.kotlin.idea.refactoring.formatFunction
|
||||||
import org.jetbrains.kotlin.idea.refactoring.withExpectedActuals
|
import org.jetbrains.kotlin.idea.refactoring.withExpectedActuals
|
||||||
|
import org.jetbrains.kotlin.idea.refactoring.isTrueJavaMethod
|
||||||
import org.jetbrains.kotlin.idea.references.KtReference
|
import org.jetbrains.kotlin.idea.references.KtReference
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchParameters
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchParameters
|
||||||
@@ -160,10 +161,13 @@ class KotlinSafeDeleteProcessor : JavaSafeDeleteProcessor() {
|
|||||||
|
|
||||||
is SafeDeleteOverrideAnnotation ->
|
is SafeDeleteOverrideAnnotation ->
|
||||||
usageInfo.smartPointer.element?.let { usageElement ->
|
usageInfo.smartPointer.element?.let { usageElement ->
|
||||||
if (usageElement.toLightMethods().all { method -> method.findSuperMethods().isEmpty() }) {
|
when {
|
||||||
KotlinSafeDeleteOverrideAnnotation(usageElement, usageInfo.referencedElement)
|
usageElement.isTrueJavaMethod() -> usageInfo
|
||||||
|
usageElement.toLightMethods().all { method -> method.findSuperMethods().isEmpty() } -> {
|
||||||
|
KotlinSafeDeleteOverrideAnnotation(usageElement, usageInfo.referencedElement) as UsageInfo
|
||||||
|
}
|
||||||
|
else -> null
|
||||||
}
|
}
|
||||||
else null
|
|
||||||
}
|
}
|
||||||
|
|
||||||
is SafeDeleteReferenceJavaDeleteUsageInfo ->
|
is SafeDeleteReferenceJavaDeleteUsageInfo ->
|
||||||
|
|||||||
+7
-3
@@ -45,6 +45,7 @@ import org.jetbrains.kotlin.idea.refactoring.checkSuperMethods
|
|||||||
import org.jetbrains.kotlin.idea.refactoring.formatClass
|
import org.jetbrains.kotlin.idea.refactoring.formatClass
|
||||||
import org.jetbrains.kotlin.idea.refactoring.formatFunction
|
import org.jetbrains.kotlin.idea.refactoring.formatFunction
|
||||||
import org.jetbrains.kotlin.idea.refactoring.withExpectedActuals
|
import org.jetbrains.kotlin.idea.refactoring.withExpectedActuals
|
||||||
|
import org.jetbrains.kotlin.idea.refactoring.isTrueJavaMethod
|
||||||
import org.jetbrains.kotlin.idea.references.KtReference
|
import org.jetbrains.kotlin.idea.references.KtReference
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchParameters
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchParameters
|
||||||
@@ -150,10 +151,13 @@ class KotlinSafeDeleteProcessor : JavaSafeDeleteProcessor() {
|
|||||||
|
|
||||||
is SafeDeleteOverrideAnnotation ->
|
is SafeDeleteOverrideAnnotation ->
|
||||||
usageInfo.smartPointer.element?.let { usageElement ->
|
usageInfo.smartPointer.element?.let { usageElement ->
|
||||||
if (usageElement.toLightMethods().all { method -> method.findSuperMethods().isEmpty() }) {
|
when {
|
||||||
KotlinSafeDeleteOverrideAnnotation(usageElement, usageInfo.referencedElement)
|
usageElement.isTrueJavaMethod() -> usageInfo
|
||||||
|
usageElement.toLightMethods().all { method -> method.findSuperMethods().isEmpty() } -> {
|
||||||
|
KotlinSafeDeleteOverrideAnnotation(usageElement, usageInfo.referencedElement) as UsageInfo
|
||||||
|
}
|
||||||
|
else -> null
|
||||||
}
|
}
|
||||||
else null
|
|
||||||
}
|
}
|
||||||
|
|
||||||
is SafeDeleteReferenceJavaDeleteUsageInfo ->
|
is SafeDeleteReferenceJavaDeleteUsageInfo ->
|
||||||
|
|||||||
+7
-3
@@ -47,6 +47,7 @@ import org.jetbrains.kotlin.idea.refactoring.checkSuperMethods
|
|||||||
import org.jetbrains.kotlin.idea.refactoring.formatClass
|
import org.jetbrains.kotlin.idea.refactoring.formatClass
|
||||||
import org.jetbrains.kotlin.idea.refactoring.formatFunction
|
import org.jetbrains.kotlin.idea.refactoring.formatFunction
|
||||||
import org.jetbrains.kotlin.idea.refactoring.withExpectedActuals
|
import org.jetbrains.kotlin.idea.refactoring.withExpectedActuals
|
||||||
|
import org.jetbrains.kotlin.idea.refactoring.isTrueJavaMethod
|
||||||
import org.jetbrains.kotlin.idea.references.KtReference
|
import org.jetbrains.kotlin.idea.references.KtReference
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchParameters
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchParameters
|
||||||
@@ -161,10 +162,13 @@ class KotlinSafeDeleteProcessor : JavaSafeDeleteProcessor() {
|
|||||||
|
|
||||||
is SafeDeleteOverrideAnnotation ->
|
is SafeDeleteOverrideAnnotation ->
|
||||||
usageInfo.smartPointer.element?.let { usageElement ->
|
usageInfo.smartPointer.element?.let { usageElement ->
|
||||||
if (usageElement.toLightMethods().all { method -> method.findSuperMethods().isEmpty() }) {
|
when {
|
||||||
KotlinSafeDeleteOverrideAnnotation(usageElement, usageInfo.referencedElement)
|
usageElement.isTrueJavaMethod() -> usageInfo
|
||||||
|
usageElement.toLightMethods().all { method -> method.findSuperMethods().isEmpty() } -> {
|
||||||
|
KotlinSafeDeleteOverrideAnnotation(usageElement, usageInfo.referencedElement) as UsageInfo
|
||||||
|
}
|
||||||
|
else -> null
|
||||||
}
|
}
|
||||||
else null
|
|
||||||
}
|
}
|
||||||
|
|
||||||
is SafeDeleteReferenceJavaDeleteUsageInfo ->
|
is SafeDeleteReferenceJavaDeleteUsageInfo ->
|
||||||
|
|||||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ class B extends A {
|
|||||||
foo();
|
foo();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void foo() {
|
private void foo() {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Vendored
-1
@@ -1,5 +1,4 @@
|
|||||||
class B implements A, Z {
|
class B implements A, Z {
|
||||||
@Override
|
|
||||||
public String getFoo() {
|
public String getFoo() {
|
||||||
return "foo";
|
return "foo";
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
-1
@@ -1,5 +1,4 @@
|
|||||||
class B implements A, Z {
|
class B implements A, Z {
|
||||||
@Override
|
|
||||||
public String getFoo() {
|
public String getFoo() {
|
||||||
return "foo";
|
return "foo";
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ class B extends A {
|
|||||||
System.out.println(getFoo());
|
System.out.println(getFoo());
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getFoo() {
|
private String getFoo() {
|
||||||
return "foo";
|
return "foo";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Vendored
+2
-2
@@ -4,11 +4,11 @@ class B extends A {
|
|||||||
System.out.println(getFoo());
|
System.out.println(getFoo());
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getFoo() {
|
private String getFoo() {
|
||||||
return "foo";
|
return "foo";
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setFoo(String value) {
|
private void setFoo(String value) {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
-1
@@ -1,5 +1,4 @@
|
|||||||
class B extends A implements Z {
|
class B extends A implements Z {
|
||||||
@Override
|
|
||||||
public String getFoo() {
|
public String getFoo() {
|
||||||
return "foo";
|
return "foo";
|
||||||
}
|
}
|
||||||
|
|||||||
-2
@@ -1,10 +1,8 @@
|
|||||||
class B extends A implements Z {
|
class B extends A implements Z {
|
||||||
@Override
|
|
||||||
public String getFoo() {
|
public String getFoo() {
|
||||||
return "foo";
|
return "foo";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setFoo(String value) {
|
public void setFoo(String value) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user