From 9d49a5ef519e89227b1bbbfdc9ec789bea5b5823 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Thu, 9 Nov 2017 10:56:27 +0100 Subject: [PATCH] don't ignore deprecations in references of static import (IDEA-181564) --- .../deprecation/DeprecationInspectionBase.java | 7 +++++-- .../deprecation/deprecatedInStaticImport/expected.xml | 2 +- .../deprecation/deprecatedInStaticImport/src/Test.java | 2 +- .../deprecation/deprecatedInStaticImport/src/a/A.java | 2 +- .../deprecation/deprecatedInStaticImport/src/a/B.java | 3 +++ 5 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 java/java-tests/testData/inspection/deprecation/deprecatedInStaticImport/src/a/B.java diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/deprecation/DeprecationInspectionBase.java b/java/java-analysis-impl/src/com/intellij/codeInspection/deprecation/DeprecationInspectionBase.java index 8a25158db730..9ead2ed2e55c 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/deprecation/DeprecationInspectionBase.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/deprecation/DeprecationInspectionBase.java @@ -5,7 +5,10 @@ import com.intellij.codeInsight.AnnotationUtil; import com.intellij.codeInsight.daemon.JavaErrorMessages; import com.intellij.codeInsight.daemon.impl.analysis.HighlightMessageUtil; import com.intellij.codeInsight.daemon.impl.analysis.JavaHighlightUtil; -import com.intellij.codeInspection.*; +import com.intellij.codeInspection.AbstractBaseJavaLocalInspectionTool; +import com.intellij.codeInspection.LocalQuickFix; +import com.intellij.codeInspection.ProblemHighlightType; +import com.intellij.codeInspection.ProblemsHolder; import com.intellij.codeInspection.ui.MultipleCheckboxOptionsPanel; import com.intellij.lang.annotation.HighlightSeverity; import com.intellij.openapi.application.ApplicationManager; @@ -259,7 +262,7 @@ abstract class DeprecationInspectionBase extends AbstractBaseJavaLocalInspection } } - if (ignoreImportStatements && PsiTreeUtil.getParentOfType(elementToHighlight, PsiImportStatementBase.class) != null) { + if (ignoreImportStatements && PsiTreeUtil.getParentOfType(elementToHighlight, PsiImportStatement.class) != null) { return; } diff --git a/java/java-tests/testData/inspection/deprecation/deprecatedInStaticImport/expected.xml b/java/java-tests/testData/inspection/deprecation/deprecatedInStaticImport/expected.xml index 2c84938abc79..279ae7e44099 100644 --- a/java/java-tests/testData/inspection/deprecation/deprecatedInStaticImport/expected.xml +++ b/java/java-tests/testData/inspection/deprecation/deprecatedInStaticImport/expected.xml @@ -4,6 +4,6 @@ Test.java 1 Deprecated API usage - 'a.A' is deprecated + 'a.B' is deprecated \ No newline at end of file diff --git a/java/java-tests/testData/inspection/deprecation/deprecatedInStaticImport/src/Test.java b/java/java-tests/testData/inspection/deprecation/deprecatedInStaticImport/src/Test.java index 10c59da27ad7..c783a4d59ecc 100644 --- a/java/java-tests/testData/inspection/deprecation/deprecatedInStaticImport/src/Test.java +++ b/java/java-tests/testData/inspection/deprecation/deprecatedInStaticImport/src/Test.java @@ -1,4 +1,4 @@ -import static a.A.*; +import static a.B.foo; public class Test { { foo(); diff --git a/java/java-tests/testData/inspection/deprecation/deprecatedInStaticImport/src/a/A.java b/java/java-tests/testData/inspection/deprecation/deprecatedInStaticImport/src/a/A.java index 80b85e4c60b0..e82ec5e9c50f 100644 --- a/java/java-tests/testData/inspection/deprecation/deprecatedInStaticImport/src/a/A.java +++ b/java/java-tests/testData/inspection/deprecation/deprecatedInStaticImport/src/a/A.java @@ -1,5 +1,5 @@ package a; -@Deprecated + public class A { public static void foo(){} } \ No newline at end of file diff --git a/java/java-tests/testData/inspection/deprecation/deprecatedInStaticImport/src/a/B.java b/java/java-tests/testData/inspection/deprecation/deprecatedInStaticImport/src/a/B.java new file mode 100644 index 000000000000..c8b377637f10 --- /dev/null +++ b/java/java-tests/testData/inspection/deprecation/deprecatedInStaticImport/src/a/B.java @@ -0,0 +1,3 @@ +package a; +@Deprecated +public class B extends A {} \ No newline at end of file