From a0760dfd74a430d2f1ef39de2089b6500677ec6e Mon Sep 17 00:00:00 2001 From: Sergey Ignatov Date: Thu, 20 Jun 2019 15:35:41 +0300 Subject: [PATCH] add a bunch of not nulls to ImplicitUsageProvider GitOrigin-RevId: 0ef8ba53d58cb80ff232fe0a70ae6ee89ffd12c7 --- .../impl/AtomicReferenceImplicitUsageProvider.java | 6 +++--- .../daemon/LightUnusedHighlightingFixtureTest.java | 6 +++--- .../com/intellij/java/codeInspection/CanBeFinalTest.java | 7 ++++--- .../java/codeInspection/DataFlowInspectionTest.java | 6 +++--- .../java/codeInspection/UnusedReturnValueQuickFixTest.java | 6 +++--- .../intellij/codeInsight/daemon/ImplicitUsageProvider.java | 6 +++--- .../src/com/intellij/codeInspection/reference/RefUtil.java | 7 ++++--- .../visibility/AccessCanBeTightenedInspectionTest.java | 6 +++--- .../MismatchedCollectionQueryUpdateInspectionTest.java | 6 +++--- .../src/inspections/DevKitImplicitUsageProvider.java | 7 ++++--- .../plugins/groovy/findUsages/GrImplicitUsageProvider.java | 6 +++--- .../inspections/JavaFxImplicitUsageProvider.java | 6 +++--- .../junit2/inspection/JUnitImplicitUsageProvider.java | 6 +++--- .../binding/UIDesignerImplicitUsageProvider.java | 6 +++--- .../lang/xpath/xslt/impl/XsltImplicitUsagesProvider.java | 7 ++++--- 15 files changed, 49 insertions(+), 45 deletions(-) diff --git a/java/java-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/AtomicReferenceImplicitUsageProvider.java b/java/java-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/AtomicReferenceImplicitUsageProvider.java index d9367893cd30..cd3b72864709 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/AtomicReferenceImplicitUsageProvider.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/AtomicReferenceImplicitUsageProvider.java @@ -33,17 +33,17 @@ public class AtomicReferenceImplicitUsageProvider implements ImplicitUsageProvid "incrementAndGet", "decrementAndGet", "addAndGet", "getAndUpdate", "updateAndGet", "getAndAccumulate", "accumulateAndGet"); @Override - public boolean isImplicitUsage(PsiElement element) { + public boolean isImplicitUsage(@NotNull PsiElement element) { return false; } @Override - public boolean isImplicitRead(PsiElement element) { + public boolean isImplicitRead(@NotNull PsiElement element) { return false; } @Override - public boolean isImplicitWrite(PsiElement element) { + public boolean isImplicitWrite(@NotNull PsiElement element) { if (element instanceof PsiField) { PsiField field = (PsiField)element; if (field.hasModifierProperty(PsiModifier.VOLATILE)) { diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/LightUnusedHighlightingFixtureTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/LightUnusedHighlightingFixtureTest.java index 73cae2d1921a..4a0be8b272e7 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/LightUnusedHighlightingFixtureTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/LightUnusedHighlightingFixtureTest.java @@ -21,17 +21,17 @@ public class LightUnusedHighlightingFixtureTest extends LightJavaCodeInsightFixt myFixture.enableInspections(new UnusedDeclarationInspection(true)); ImplicitUsageProvider.EP_NAME.getPoint(null).registerExtension(new ImplicitUsageProvider() { @Override - public boolean isImplicitUsage(PsiElement element) { + public boolean isImplicitUsage(@NotNull PsiElement element) { return false; } @Override - public boolean isImplicitRead(PsiElement element) { + public boolean isImplicitRead(@NotNull PsiElement element) { return false; } @Override - public boolean isImplicitWrite(PsiElement element) { + public boolean isImplicitWrite(@NotNull PsiElement element) { return element instanceof PsiField && "implicitWrite".equals(((PsiNamedElement)element).getName()); } }, getTestRootDisposable()); diff --git a/java/java-tests/testSrc/com/intellij/java/codeInspection/CanBeFinalTest.java b/java/java-tests/testSrc/com/intellij/java/codeInspection/CanBeFinalTest.java index 7ecb8824776f..56db59f119ad 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInspection/CanBeFinalTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInspection/CanBeFinalTest.java @@ -9,6 +9,7 @@ import com.intellij.psi.PsiElement; import com.intellij.psi.PsiField; import com.intellij.psi.PsiNamedElement; import com.intellij.testFramework.JavaInspectionTestCase; +import org.jetbrains.annotations.NotNull; public class CanBeFinalTest extends JavaInspectionTestCase { @Override @@ -130,17 +131,17 @@ public class CanBeFinalTest extends JavaInspectionTestCase { public void testfieldImplicitWrite() { ImplicitUsageProvider.EP_NAME.getPoint(null).registerExtension(new ImplicitUsageProvider() { @Override - public boolean isImplicitUsage(PsiElement element) { + public boolean isImplicitUsage(@NotNull PsiElement element) { return isImplicitWrite(element); } @Override - public boolean isImplicitRead(PsiElement element) { + public boolean isImplicitRead(@NotNull PsiElement element) { return false; } @Override - public boolean isImplicitWrite(PsiElement element) { + public boolean isImplicitWrite(@NotNull PsiElement element) { return element instanceof PsiField && "implicitWrite".equals(((PsiNamedElement)element).getName()); } }, getTestRootDisposable()); diff --git a/java/java-tests/testSrc/com/intellij/java/codeInspection/DataFlowInspectionTest.java b/java/java-tests/testSrc/com/intellij/java/codeInspection/DataFlowInspectionTest.java index 5c6be33e5817..5ab200f05312 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInspection/DataFlowInspectionTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInspection/DataFlowInspectionTest.java @@ -538,17 +538,17 @@ public class DataFlowInspectionTest extends DataFlowInspectionTestCase { public void testImplicitlyInitializedField() { ImplicitUsageProvider.EP_NAME.getPoint(null).registerExtension(new ImplicitUsageProvider() { @Override - public boolean isImplicitUsage(PsiElement element) { + public boolean isImplicitUsage(@NotNull PsiElement element) { return false; } @Override - public boolean isImplicitRead(PsiElement element) { + public boolean isImplicitRead(@NotNull PsiElement element) { return false; } @Override - public boolean isImplicitWrite(PsiElement element) { + public boolean isImplicitWrite(@NotNull PsiElement element) { return false; } diff --git a/java/java-tests/testSrc/com/intellij/java/codeInspection/UnusedReturnValueQuickFixTest.java b/java/java-tests/testSrc/com/intellij/java/codeInspection/UnusedReturnValueQuickFixTest.java index f61198492a40..59914d46b124 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInspection/UnusedReturnValueQuickFixTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInspection/UnusedReturnValueQuickFixTest.java @@ -43,17 +43,17 @@ public class UnusedReturnValueQuickFixTest extends LightJavaCodeInsightFixtureTe super.setUp(); PlatformTestUtil.registerExtension(Extensions.getRootArea(), ImplicitUsageProvider.EP_NAME, new ImplicitUsageProvider() { @Override - public boolean isImplicitUsage(PsiElement element) { + public boolean isImplicitUsage(@NotNull PsiElement element) { return false; } @Override - public boolean isImplicitRead(PsiElement element) { + public boolean isImplicitRead(@NotNull PsiElement element) { return element instanceof PsiMethod && ((PsiMethod)element).getName().equals("implicitRead"); } @Override - public boolean isImplicitWrite(PsiElement element) { + public boolean isImplicitWrite(@NotNull PsiElement element) { return false; } }, getTestRootDisposable()); diff --git a/platform/analysis-api/src/com/intellij/codeInsight/daemon/ImplicitUsageProvider.java b/platform/analysis-api/src/com/intellij/codeInsight/daemon/ImplicitUsageProvider.java index 598ea8a906e8..4c2b1f2fc2d3 100644 --- a/platform/analysis-api/src/com/intellij/codeInsight/daemon/ImplicitUsageProvider.java +++ b/platform/analysis-api/src/com/intellij/codeInsight/daemon/ImplicitUsageProvider.java @@ -36,17 +36,17 @@ public interface ImplicitUsageProvider { /** * @return true if element should not be reported as unused */ - boolean isImplicitUsage(PsiElement element); + boolean isImplicitUsage(@NotNull PsiElement element); /** * @return true if element should not be reported as "assigned but not used" */ - boolean isImplicitRead(PsiElement element); + boolean isImplicitRead(@NotNull PsiElement element); /** * @return true if element should not be reported as "referenced but never assigned" */ - boolean isImplicitWrite(PsiElement element); + boolean isImplicitWrite(@NotNull PsiElement element); /** * @return true if the given element is implicitly initialized to a non-null value diff --git a/platform/analysis-api/src/com/intellij/codeInspection/reference/RefUtil.java b/platform/analysis-api/src/com/intellij/codeInspection/reference/RefUtil.java index 6764893f1671..7d93d6c0a5fc 100644 --- a/platform/analysis-api/src/com/intellij/codeInspection/reference/RefUtil.java +++ b/platform/analysis-api/src/com/intellij/codeInspection/reference/RefUtil.java @@ -6,6 +6,7 @@ import com.intellij.codeInspection.ex.EntryPointsManager; import com.intellij.openapi.util.Comparing; import com.intellij.psi.PsiElement; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.util.Collection; @@ -18,7 +19,7 @@ import java.util.Collection; public class RefUtil { private RefUtil() {} - public static boolean isImplicitUsage(PsiElement element) { + public static boolean isImplicitUsage(@Nullable PsiElement element) { if (element == null) { return false; } @@ -28,7 +29,7 @@ public class RefUtil { return false; } - public static boolean isImplicitRead(PsiElement element) { + public static boolean isImplicitRead(@Nullable PsiElement element) { if (element == null) { return false; } @@ -47,7 +48,7 @@ public class RefUtil { return false; } - public static boolean isImplicitWrite(PsiElement element) { + public static boolean isImplicitWrite(@Nullable PsiElement element) { if (element == null) { return false; } diff --git a/plugins/InspectionGadgets/testsrc/com/intellij/codeInspection/visibility/AccessCanBeTightenedInspectionTest.java b/plugins/InspectionGadgets/testsrc/com/intellij/codeInspection/visibility/AccessCanBeTightenedInspectionTest.java index 50efc4aaa546..d161e20ce207 100644 --- a/plugins/InspectionGadgets/testsrc/com/intellij/codeInspection/visibility/AccessCanBeTightenedInspectionTest.java +++ b/plugins/InspectionGadgets/testsrc/com/intellij/codeInspection/visibility/AccessCanBeTightenedInspectionTest.java @@ -449,17 +449,17 @@ public class AccessCanBeTightenedInspectionTest extends LightJavaInspectionTestC "}"); PlatformTestUtil.registerExtension(Extensions.getRootArea(), ImplicitUsageProvider.EP_NAME, new ImplicitUsageProvider() { @Override - public boolean isImplicitUsage(PsiElement element) { + public boolean isImplicitUsage(@NotNull PsiElement element) { return false; } @Override - public boolean isImplicitRead(PsiElement element) { + public boolean isImplicitRead(@NotNull PsiElement element) { return false; } @Override - public boolean isImplicitWrite(PsiElement element) { + public boolean isImplicitWrite(@NotNull PsiElement element) { return element instanceof PsiField && "foo".equals(((PsiField)element).getName()); } }, getTestRootDisposable()); diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/bugs/MismatchedCollectionQueryUpdateInspectionTest.java b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/bugs/MismatchedCollectionQueryUpdateInspectionTest.java index 1dd150357d67..2ec92bb3e187 100644 --- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/bugs/MismatchedCollectionQueryUpdateInspectionTest.java +++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/bugs/MismatchedCollectionQueryUpdateInspectionTest.java @@ -16,17 +16,17 @@ public class MismatchedCollectionQueryUpdateInspectionTest extends LightJavaInsp private static final ImplicitUsageProvider TEST_PROVIDER = new ImplicitUsageProvider() { @Override - public boolean isImplicitUsage(PsiElement element) { + public boolean isImplicitUsage(@NotNull PsiElement element) { return false; } @Override - public boolean isImplicitRead(PsiElement element) { + public boolean isImplicitRead(@NotNull PsiElement element) { return false; } @Override - public boolean isImplicitWrite(PsiElement element) { + public boolean isImplicitWrite(@NotNull PsiElement element) { return element instanceof PsiField && "injected".equals(((PsiField)element).getName()); } }; diff --git a/plugins/devkit/devkit-core/src/inspections/DevKitImplicitUsageProvider.java b/plugins/devkit/devkit-core/src/inspections/DevKitImplicitUsageProvider.java index 70d8cf939d18..a0c82f5528fa 100644 --- a/plugins/devkit/devkit-core/src/inspections/DevKitImplicitUsageProvider.java +++ b/plugins/devkit/devkit-core/src/inspections/DevKitImplicitUsageProvider.java @@ -18,6 +18,7 @@ package org.jetbrains.idea.devkit.inspections; import com.intellij.codeInsight.daemon.ImplicitUsageProvider; import com.intellij.psi.*; import com.intellij.psi.util.InheritanceUtil; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** @@ -26,7 +27,7 @@ import org.jetbrains.annotations.Nullable; public class DevKitImplicitUsageProvider implements ImplicitUsageProvider { @Override - public boolean isImplicitUsage(PsiElement element) { + public boolean isImplicitUsage(@NotNull PsiElement element) { if (element instanceof PsiClass) { final PsiClass psiClass = (PsiClass)element; return isDomElementClass(psiClass); @@ -41,12 +42,12 @@ public class DevKitImplicitUsageProvider implements ImplicitUsageProvider { } @Override - public boolean isImplicitRead(PsiElement element) { + public boolean isImplicitRead(@NotNull PsiElement element) { return false; } @Override - public boolean isImplicitWrite(PsiElement element) { + public boolean isImplicitWrite(@NotNull PsiElement element) { return false; } diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/findUsages/GrImplicitUsageProvider.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/findUsages/GrImplicitUsageProvider.java index 0b75d8773364..e980d754ad69 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/findUsages/GrImplicitUsageProvider.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/findUsages/GrImplicitUsageProvider.java @@ -31,7 +31,7 @@ import org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil; */ public class GrImplicitUsageProvider implements ImplicitUsageProvider { @Override - public boolean isImplicitUsage(PsiElement element) { + public boolean isImplicitUsage(@NotNull PsiElement element) { if (element instanceof GrMethod) { final GrMethod method = (GrMethod)element; @@ -53,13 +53,13 @@ public class GrImplicitUsageProvider implements ImplicitUsageProvider { } @Override - public boolean isImplicitRead(PsiElement element) { + public boolean isImplicitRead(@NotNull PsiElement element) { if (element instanceof GrField && isDelegateAnnotated((GrField)element)) return true; return false; } @Override - public boolean isImplicitWrite(PsiElement element) { + public boolean isImplicitWrite(@NotNull PsiElement element) { return false; } diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/codeInsight/inspections/JavaFxImplicitUsageProvider.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/codeInsight/inspections/JavaFxImplicitUsageProvider.java index d31f05e5feda..60843cd0d6e7 100644 --- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/codeInsight/inspections/JavaFxImplicitUsageProvider.java +++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/codeInsight/inspections/JavaFxImplicitUsageProvider.java @@ -27,7 +27,7 @@ import java.util.List; public class JavaFxImplicitUsageProvider implements ImplicitUsageProvider { @Override - public boolean isImplicitUsage(PsiElement element) { + public boolean isImplicitUsage(@NotNull PsiElement element) { if (element instanceof PsiMethod) { return isImplicitMethodUsage((PsiMethod)element); } @@ -60,12 +60,12 @@ public class JavaFxImplicitUsageProvider implements ImplicitUsageProvider { } @Override - public boolean isImplicitRead(PsiElement element) { + public boolean isImplicitRead(@NotNull PsiElement element) { return false; } @Override - public boolean isImplicitWrite(PsiElement element) { + public boolean isImplicitWrite(@NotNull PsiElement element) { if (element instanceof PsiField) { final PsiField field = (PsiField)element; if (!isImplicitFxmlAccess(field)) return false; diff --git a/plugins/junit/src/com/intellij/execution/junit2/inspection/JUnitImplicitUsageProvider.java b/plugins/junit/src/com/intellij/execution/junit2/inspection/JUnitImplicitUsageProvider.java index 8670e9d9250c..7db8dc4d9a53 100644 --- a/plugins/junit/src/com/intellij/execution/junit2/inspection/JUnitImplicitUsageProvider.java +++ b/plugins/junit/src/com/intellij/execution/junit2/inspection/JUnitImplicitUsageProvider.java @@ -21,17 +21,17 @@ public class JUnitImplicitUsageProvider implements ImplicitUsageProvider { @Override - public boolean isImplicitUsage(PsiElement element) { + public boolean isImplicitUsage(@NotNull PsiElement element) { return false; } @Override - public boolean isImplicitRead(PsiElement element) { + public boolean isImplicitRead(@NotNull PsiElement element) { return false; } @Override - public boolean isImplicitWrite(PsiElement element) { + public boolean isImplicitWrite(@NotNull PsiElement element) { return element instanceof PsiParameter && AnnotationUtil.isAnnotated((PsiParameter)element, MOCK, 0) || element instanceof PsiField && AnnotationUtil.isAnnotated((PsiField)element, INJECTED_FIELD_ANNOTATIONS, 0); } diff --git a/plugins/ui-designer/src/com/intellij/uiDesigner/binding/UIDesignerImplicitUsageProvider.java b/plugins/ui-designer/src/com/intellij/uiDesigner/binding/UIDesignerImplicitUsageProvider.java index 41125a949b93..5949d000ab41 100644 --- a/plugins/ui-designer/src/com/intellij/uiDesigner/binding/UIDesignerImplicitUsageProvider.java +++ b/plugins/ui-designer/src/com/intellij/uiDesigner/binding/UIDesignerImplicitUsageProvider.java @@ -17,7 +17,7 @@ import java.util.stream.Stream; */ public class UIDesignerImplicitUsageProvider implements ImplicitUsageProvider { @Override - public boolean isImplicitUsage(PsiElement element) { + public boolean isImplicitUsage(@NotNull PsiElement element) { if (element instanceof PsiMethod) { PsiMethod method = (PsiMethod) element; if ((AsmCodeGenerator.CREATE_COMPONENTS_METHOD_NAME.equals(method.getName()) || @@ -30,12 +30,12 @@ public class UIDesignerImplicitUsageProvider implements ImplicitUsageProvider { } @Override - public boolean isImplicitRead(PsiElement element) { + public boolean isImplicitRead(@NotNull PsiElement element) { return false; } @Override - public boolean isImplicitWrite(PsiElement element) { + public boolean isImplicitWrite(@NotNull PsiElement element) { return element instanceof PsiField && FormReferenceProvider.getFormFile((PsiField)element) != null; } diff --git a/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/impl/XsltImplicitUsagesProvider.java b/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/impl/XsltImplicitUsagesProvider.java index f5e87fa3038a..4a404b05cae0 100644 --- a/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/impl/XsltImplicitUsagesProvider.java +++ b/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/impl/XsltImplicitUsagesProvider.java @@ -14,10 +14,11 @@ import com.intellij.psi.xml.XmlFile; import com.intellij.util.Query; import org.intellij.lang.xpath.context.ContextProvider; import org.intellij.lang.xpath.xslt.XsltSupport; +import org.jetbrains.annotations.NotNull; public final class XsltImplicitUsagesProvider implements ImplicitUsageProvider { @Override - public boolean isImplicitUsage(PsiElement element) { + public boolean isImplicitUsage(@NotNull PsiElement element) { if (!(element instanceof XmlAttribute)) { return false; } @@ -53,12 +54,12 @@ public final class XsltImplicitUsagesProvider implements ImplicitUsageProvider { } @Override - public boolean isImplicitRead(PsiElement element) { + public boolean isImplicitRead(@NotNull PsiElement element) { return false; } @Override - public boolean isImplicitWrite(PsiElement element) { + public boolean isImplicitWrite(@NotNull PsiElement element) { return false; } }