diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/DeprecatedIsStillUsedInspection.java b/java/java-analysis-impl/src/com/intellij/codeInspection/DeprecatedIsStillUsedInspection.java
index 2ab8e02f9e4f..17e6756edd20 100644
--- a/java/java-analysis-impl/src/com/intellij/codeInspection/DeprecatedIsStillUsedInspection.java
+++ b/java/java-analysis-impl/src/com/intellij/codeInspection/DeprecatedIsStillUsedInspection.java
@@ -3,9 +3,11 @@ package com.intellij.codeInspection;
import com.intellij.codeInspection.deprecation.DeprecationInspectionBase;
import com.intellij.psi.*;
+import com.intellij.psi.javadoc.PsiDocComment;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.search.PsiSearchHelper;
import com.intellij.psi.search.searches.ReferencesSearch;
+import com.intellij.psi.util.PsiTreeUtil;
import org.jetbrains.annotations.NotNull;
/**
@@ -57,6 +59,10 @@ public class DeprecatedIsStillUsedInspection extends LocalInspectionTool {
}
return ReferencesSearch.search(element, searchScope, false)
- .anyMatch(reference -> !DeprecationInspectionBase.isElementInsideDeprecated(reference.getElement()));
+ .anyMatch(reference -> {
+ PsiElement referenceElement = reference.getElement();
+ return !DeprecationInspectionBase.isElementInsideDeprecated(referenceElement) &&
+ PsiTreeUtil.getParentOfType(referenceElement, PsiDocComment.class) == null;
+ });
}
}
diff --git a/java/java-tests/testData/inspection/deprecatedIsStillUsed/Simple.java b/java/java-tests/testData/inspection/deprecatedIsStillUsed/Simple.java
new file mode 100644
index 000000000000..25bf50859da7
--- /dev/null
+++ b/java/java-tests/testData/inspection/deprecatedIsStillUsed/Simple.java
@@ -0,0 +1,51 @@
+public class Simple {
+ /**
+ * @deprecated
+ */
+ int bbb;
+
+ @Deprecated
+ int bbb2;
+
+ @Deprecated
+ int bbb3() {
+ return 0;
+ }
+
+ @Deprecated
+ class Bbb4 {
+
+ }
+
+ int use(){
+ return bbb + bbb2 + bbb3() + Bbb4.class.toString().hashCode();
+ }
+
+
+ //////////////////////////////
+
+ @Deprecated
+ int ddd2;
+
+ @Deprecated
+ int ddd3() {
+ return 0;
+ }
+
+ @Deprecated
+ class Ddd4 {
+
+ }
+
+ @Deprecated
+ int useFromDeprecated(){
+ return ddd2 + ddd3() + Ddd4.class.toString().hashCode();
+ }
+
+ /**
+ * {@link #useFromJavadoc}
+ */
+ void withJavadocReference() {}
+ @Deprecated
+ void useFromJavadoc() { }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/inspection/deprecatedIsStillUsed/simple/expected.xml b/java/java-tests/testData/inspection/deprecatedIsStillUsed/simple/expected.xml
deleted file mode 100644
index 3954a5716a4d..000000000000
--- a/java/java-tests/testData/inspection/deprecatedIsStillUsed/simple/expected.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
- Test.java
- 5
- Deprecated member 'bbb' is still used
-
-
- Test.java
- 8
- Deprecated member 'bbb2' is still used
-
-
- Test.java
- 11
- Deprecated member 'bbb3' is still used
-
-
- Test.java
- 16
- Deprecated member 'Bbb4' is still used
-
-
-
diff --git a/java/java-tests/testData/inspection/deprecatedIsStillUsed/simple/src/Test.java b/java/java-tests/testData/inspection/deprecatedIsStillUsed/simple/src/Test.java
deleted file mode 100644
index dfbc1da2247b..000000000000
--- a/java/java-tests/testData/inspection/deprecatedIsStillUsed/simple/src/Test.java
+++ /dev/null
@@ -1,44 +0,0 @@
-public class Test{
- /**
- * @deprecated
- */
- int bbb;
-
- @Deprecated
- int bbb2;
-
- @Deprecated
- int bbb3() {
- return 0;
- }
-
- @Deprecated
- class Bbb4 {
-
- }
-
- int use(){
- return bbb + bbb2 + bbb3() + Bbb4.class.toString().hashCode();
- }
-
-
- //////////////////////////////
-
- @Deprecated
- int ddd2;
-
- @Deprecated
- int ddd3() {
- return 0;
- }
-
- @Deprecated
- class Ddd4 {
-
- }
-
- @Deprecated
- int useFromDeprecated(){
- return ddd2 + ddd3() + Ddd4.class.toString().hashCode();
- }
-}
\ No newline at end of file
diff --git a/java/java-tests/testSrc/com/intellij/java/codeInspection/DeprecatedIsStillUsedInspectionTest.java b/java/java-tests/testSrc/com/intellij/java/codeInspection/DeprecatedIsStillUsedInspectionTest.java
index 6587337220d0..80d6f14d3ec6 100644
--- a/java/java-tests/testSrc/com/intellij/java/codeInspection/DeprecatedIsStillUsedInspectionTest.java
+++ b/java/java-tests/testSrc/com/intellij/java/codeInspection/DeprecatedIsStillUsedInspectionTest.java
@@ -18,19 +18,21 @@ package com.intellij.java.codeInspection;
import com.intellij.JavaTestUtil;
import com.intellij.codeInspection.DeprecatedIsStillUsedInspection;
-import com.intellij.testFramework.InspectionTestCase;
+import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase;
-public class DeprecatedIsStillUsedInspectionTest extends InspectionTestCase {
+public class DeprecatedIsStillUsedInspectionTest extends LightCodeInsightFixtureTestCase {
@Override
protected String getTestDataPath() {
- return JavaTestUtil.getJavaTestDataPath() + "/inspection";
+ return JavaTestUtil.getJavaTestDataPath() + "/inspection/deprecatedIsStillUsed";
}
- private void doTest() {
- doTest("deprecatedIsStillUsed/" + getTestName(true), new DeprecatedIsStillUsedInspection());
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ myFixture.enableInspections(new DeprecatedIsStillUsedInspection());
}
public void testSimple() {
- doTest();
+ myFixture.testHighlighting(getTestName(false) + ".java");
}
}