From ccb271019024292fb086fe67302687fab5f44f27 Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Wed, 27 Apr 2016 14:50:07 +0200 Subject: [PATCH] inline method: preserve @Override deep in hierarchy --- .../intellij/refactoring/inline/InlineMethodProcessor.java | 2 +- .../refactoring/inlineMethod/DeleteOverrideAnnotations.java | 5 +++++ .../inlineMethod/DeleteOverrideAnnotations.java.after | 5 +++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java b/java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java index 3da8f2649fc8..596aa32d15dd 100644 --- a/java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java @@ -137,7 +137,7 @@ public class InlineMethodProcessor extends BaseRefactoringProcessor { usages.add(new UsageInfo(reference.getElement())); } - OverridingMethodsSearch.search(myMethod).forEach(method -> { + OverridingMethodsSearch.search(myMethod, false).forEach(method -> { if (AnnotationUtil.isAnnotated(method, Override.class.getName(), false)) { usages.add(new UsageInfo(method)); } diff --git a/java/java-tests/testData/refactoring/inlineMethod/DeleteOverrideAnnotations.java b/java/java-tests/testData/refactoring/inlineMethod/DeleteOverrideAnnotations.java index 47b425b4a6f0..dd1e04e6d905 100644 --- a/java/java-tests/testData/refactoring/inlineMethod/DeleteOverrideAnnotations.java +++ b/java/java-tests/testData/refactoring/inlineMethod/DeleteOverrideAnnotations.java @@ -9,4 +9,9 @@ class B extends A { void err() { super.foo(); } +} + +class C extends B { + @Override + void foo() {} } \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/inlineMethod/DeleteOverrideAnnotations.java.after b/java/java-tests/testData/refactoring/inlineMethod/DeleteOverrideAnnotations.java.after index ef93f313b810..eac5af8b33db 100644 --- a/java/java-tests/testData/refactoring/inlineMethod/DeleteOverrideAnnotations.java.after +++ b/java/java-tests/testData/refactoring/inlineMethod/DeleteOverrideAnnotations.java.after @@ -6,4 +6,9 @@ class B extends A { void err() { } +} + +class C extends B { + @Override + void foo() {} } \ No newline at end of file