diff --git a/java/java-analysis-api/resources/messages/JavaAnalysisBundle.properties b/java/java-analysis-api/resources/messages/JavaAnalysisBundle.properties index 2b3642590d99..d3b8017314c2 100644 --- a/java/java-analysis-api/resources/messages/JavaAnalysisBundle.properties +++ b/java/java-analysis-api/resources/messages/JavaAnalysisBundle.properties @@ -187,8 +187,8 @@ access.can.be.package.private=Access can be package-private access.to.field.code.ref.code.outside.of.declared.guards.loc=Access to field #ref outside of declared guards #loc call.to.method.code.ref.code.outside.of.declared.guards.loc=Call to method #ref() outside of declared guards #loc annotate.as.safevarargs=Annotate as '@SafeVarargs' -annotate.overridden.methods.parameters.family.name=Annotate overridden method parameters -annotate.overridden.methods.parameters=Annotate overridden method parameters as ''@{0}'' +annotate.overridden.methods.parameters.family.name=Annotate overriding method parameters +annotate.overridden.methods.parameters=Annotate overriding method parameters as ''@{0}'' anonymous.ref.loc.can.be.replaced.with.0=Anonymous #ref #loc can be replaced with {0} anonymous.ref.loc.can.be.replaced.with.lambda=Anonymous #ref #loc can be replaced with lambda assigning.a.collection.of.nullable.elements=Assigning a collection of nullable elements into a collection of non-null elements @@ -217,11 +217,11 @@ ignore.members.of.deprecated.classes=Ignore members of deprecated classes ignore.operation.which.results.in.negative.value=Ignore '<<' operation which results in negative value inspection.annotate.method.quickfix.family.name=Annotate method inspection.annotate.method.quickfix.name=Annotate method with ''@{0}'' -inspection.annotate.overridden.method.and.self.quickfix.family.name=Annotate overridden methods and self -inspection.annotate.overridden.method.and.self.quickfix.name=Annotate overridden methods and self with ''@{0}'' -inspection.annotate.overridden.method.quickfix.family.name=Annotate overridden methods -inspection.annotate.overridden.method.quickfix.name=Annotate overridden methods with ''@{0}'' -inspection.annotate.overridden.method.nullable.quickfix.name=Annotate overridden methods as ''@{0}'' +inspection.annotate.overridden.method.and.self.quickfix.family.name=Annotate overriding methods and self +inspection.annotate.overridden.method.and.self.quickfix.name=Annotate overriding methods and self with ''@{0}'' +inspection.annotate.overridden.method.quickfix.family.name=Annotate overriding methods +inspection.annotate.overridden.method.quickfix.name=Annotate overriding methods with ''@{0}'' +inspection.annotate.overridden.method.nullable.quickfix.name=Annotate overriding methods as ''@{0}'' inspection.c.style.array.declarations.option=Ignore C-style declarations in variables inspection.can.be.final.accept.quickfix=Make final inspection.can.be.final.option1=Report methods @@ -374,8 +374,8 @@ non.final.field.code.ref.code.in.immutable.class.loc=Non-final field #ref< non.final.guarded.by.field.0.loc=Non-final @GuardedBy field "{0}" #loc non.final.guarded.by.field.ref.loc=Non-final @GuardedBy field #ref #loc non.null.type.argument.is.expected=Non-null type argument is expected -nullable.stuff.problems.overridden.method.parameters.are.not.annotated=Overridden method parameters are not annotated -nullable.stuff.problems.overridden.methods.are.not.annotated=Overridden methods are not annotated +nullable.stuff.problems.overridden.method.parameters.are.not.annotated=Overriding method parameters are not annotated +nullable.stuff.problems.overridden.methods.are.not.annotated=Overriding methods are not annotated parameter.can.be.null=Parameter can be null parameter.is.always.not.null=Parameter is always not-null possible.heap.pollution.from.parameterized.vararg.type.loc=Possible heap pollution from parameterized vararg type #loc diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/afterOverriddenMethods.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/afterOverriddenMethods.java index 4544ba6633a7..678904b5525c 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/afterOverriddenMethods.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/afterOverriddenMethods.java @@ -1,4 +1,4 @@ -// "Annotate overridden methods as '@NotNull'" "true" +// "Annotate overriding methods as '@NotNull'" "true" import org.jetbrains.annotations.NotNull; abstract class P2 { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/afterOverriddenParameters.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/afterOverriddenParameters.java index 24ee32019149..2fa5d820b6f6 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/afterOverriddenParameters.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/afterOverriddenParameters.java @@ -1,4 +1,4 @@ -// "Annotate overridden method parameters as '@NotNull'" "true" +// "Annotate overriding method parameters as '@NotNull'" "true" import org.jetbrains.annotations.NotNull; abstract class P2 { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/afterOverriddenWithInferred.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/afterOverriddenWithInferred.java index 14a463bb4b07..d60aa615426f 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/afterOverriddenWithInferred.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/afterOverriddenWithInferred.java @@ -1,4 +1,4 @@ -// "Annotate overridden methods as '@NotNull'" "true" +// "Annotate overriding methods as '@NotNull'" "true" import org.jetbrains.annotations.NotNull; diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/afterRemoveAnti.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/afterRemoveAnti.java index 2a0758973681..8d1921dd17ae 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/afterRemoveAnti.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/afterRemoveAnti.java @@ -1,4 +1,4 @@ -// "Annotate overridden methods as '@NotNull'" "true" +// "Annotate overriding methods as '@NotNull'" "true" import org.jetbrains.annotations.*; diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/beforeOverriddenMethods.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/beforeOverriddenMethods.java index e817980c317f..5d74dde8313d 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/beforeOverriddenMethods.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/beforeOverriddenMethods.java @@ -1,4 +1,4 @@ -// "Annotate overridden methods as '@NotNull'" "true" +// "Annotate overriding methods as '@NotNull'" "true" import org.jetbrains.annotations.NotNull; abstract class P2 { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/beforeOverriddenParameters.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/beforeOverriddenParameters.java index 4f3a131c3fd8..2ffaae0e9e17 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/beforeOverriddenParameters.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/beforeOverriddenParameters.java @@ -1,4 +1,4 @@ -// "Annotate overridden method parameters as '@NotNull'" "true" +// "Annotate overriding method parameters as '@NotNull'" "true" import org.jetbrains.annotations.NotNull; abstract class P2 { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/beforeOverriddenWithInferred.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/beforeOverriddenWithInferred.java index 343fc019c121..15d60a531b0b 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/beforeOverriddenWithInferred.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/beforeOverriddenWithInferred.java @@ -1,4 +1,4 @@ -// "Annotate overridden methods as '@NotNull'" "true" +// "Annotate overriding methods as '@NotNull'" "true" import org.jetbrains.annotations.NotNull; diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/beforeRemoveAnti.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/beforeRemoveAnti.java index 78cf743b7953..d5c2e713e04e 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/beforeRemoveAnti.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/annotateMethod/beforeRemoveAnti.java @@ -1,4 +1,4 @@ -// "Annotate overridden methods as '@NotNull'" "true" +// "Annotate overriding methods as '@NotNull'" "true" import org.jetbrains.annotations.*; diff --git a/java/java-tests/testData/ig/com/siyeh/igtest/inheritance/missing_override_annotation/afterOverrideInheritors.java b/java/java-tests/testData/ig/com/siyeh/igtest/inheritance/missing_override_annotation/afterOverrideInheritors.java index 7315611d0ac9..3fc31e67cc12 100644 --- a/java/java-tests/testData/ig/com/siyeh/igtest/inheritance/missing_override_annotation/afterOverrideInheritors.java +++ b/java/java-tests/testData/ig/com/siyeh/igtest/inheritance/missing_override_annotation/afterOverrideInheritors.java @@ -1,4 +1,4 @@ -// "Annotate overridden methods with '@Override'" "true" +// "Annotate overriding methods with '@Override'" "true" class Super { void test() {} } diff --git a/java/java-tests/testData/ig/com/siyeh/igtest/inheritance/missing_override_annotation/beforeOverrideInheritors.java b/java/java-tests/testData/ig/com/siyeh/igtest/inheritance/missing_override_annotation/beforeOverrideInheritors.java index de14691f415a..0203ea8f11a5 100644 --- a/java/java-tests/testData/ig/com/siyeh/igtest/inheritance/missing_override_annotation/beforeOverrideInheritors.java +++ b/java/java-tests/testData/ig/com/siyeh/igtest/inheritance/missing_override_annotation/beforeOverrideInheritors.java @@ -1,4 +1,4 @@ -// "Annotate overridden methods with '@Override'" "true" +// "Annotate overriding methods with '@Override'" "true" class Super { void test() {} } diff --git a/java/java-tests/testData/inspection/nullableProblems/AnnotateOverridingParametersOnNotNullMethod.java b/java/java-tests/testData/inspection/nullableProblems/AnnotateOverridingParametersOnNotNullMethod.java index 5a6fec99dcb0..5f19e175a822 100644 --- a/java/java-tests/testData/inspection/nullableProblems/AnnotateOverridingParametersOnNotNullMethod.java +++ b/java/java-tests/testData/inspection/nullableProblems/AnnotateOverridingParametersOnNotNullMethod.java @@ -2,7 +2,7 @@ import org.jetbrains.annotations.NotNull; interface MakeNonNull { @NotNull - String getSnapshot(@NotNull Integer arg); + String getSnapshot(@NotNull Integer arg); } class MakeNonNullImpl implements MakeNonNull { diff --git a/java/java-tests/testData/inspection/nullableProblems/InheritTypeUse.java b/java/java-tests/testData/inspection/nullableProblems/InheritTypeUse.java index cbf26a3bd24a..0b764126960e 100644 --- a/java/java-tests/testData/inspection/nullableProblems/InheritTypeUse.java +++ b/java/java-tests/testData/inspection/nullableProblems/InheritTypeUse.java @@ -5,7 +5,7 @@ interface I { } abstract class X implements I { - public abstract T getT(); + public abstract T getT(); } class Y extends X<@NotNull String> { diff --git a/java/java-tests/testData/inspection/nullableProblems/OverriddenMethods.java b/java/java-tests/testData/inspection/nullableProblems/OverriddenMethods.java index 55c7fd700cab..c4d233665031 100644 --- a/java/java-tests/testData/inspection/nullableProblems/OverriddenMethods.java +++ b/java/java-tests/testData/inspection/nullableProblems/OverriddenMethods.java @@ -2,8 +2,8 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; abstract class P2 { - @NotNull - String foo(@NotNull P p) { + @NotNull + String foo(@NotNull P p) { return ""; } } @@ -49,7 +49,7 @@ class B extends A implements @NotNull String param); + Integer get(@NotNull String param); } class InheritorMethodOverriddenButParameterNot_Impl implements InheritorMethodOverriddenButParameterNot { diff --git a/java/java-tests/testData/inspection/nullableProblems/OverridersHaveNonDefaultAnnotation.java b/java/java-tests/testData/inspection/nullableProblems/OverridersHaveNonDefaultAnnotation.java index 2a7fc989760e..bf9d38630c33 100644 --- a/java/java-tests/testData/inspection/nullableProblems/OverridersHaveNonDefaultAnnotation.java +++ b/java/java-tests/testData/inspection/nullableProblems/OverridersHaveNonDefaultAnnotation.java @@ -2,7 +2,7 @@ import org.eclipse.jdt.annotation.NonNull; abstract class Foo { - abstract void foo(@NonNull String str); + abstract void foo(@NonNull String str); public static class Foo2 extends Foo { diff --git a/java/java-tests/testData/inspection/nullableProblems/TypeUseArrayAnnotation.java b/java/java-tests/testData/inspection/nullableProblems/TypeUseArrayAnnotation.java index cb0c59d838df..84d2cb9773d0 100644 --- a/java/java-tests/testData/inspection/nullableProblems/TypeUseArrayAnnotation.java +++ b/java/java-tests/testData/inspection/nullableProblems/TypeUseArrayAnnotation.java @@ -1,8 +1,8 @@ import typeUse.NotNull; interface Foo { - String @NotNull [] foo(); - void foo(String @NotNull[] arg); + String @NotNull [] foo(); + void foo(String @NotNull[] arg); } class Bar implements Foo { public String[] foo() { diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/impl/quickfix/AnnotateMethodInGeneratedFilesTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/impl/quickfix/AnnotateMethodInGeneratedFilesTest.java index e477dd0c4ffa..2069c3b69272 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/impl/quickfix/AnnotateMethodInGeneratedFilesTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/impl/quickfix/AnnotateMethodInGeneratedFilesTest.java @@ -2,6 +2,7 @@ package com.intellij.codeInsight.daemon.impl.quickfix; import com.intellij.JavaTestUtil; +import com.intellij.codeInsight.intention.IntentionAction; import com.intellij.codeInspection.nullable.NullableStuffInspection; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.GeneratedSourcesFilter; @@ -9,8 +10,11 @@ import com.intellij.openapi.util.registry.Registry; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiClass; import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; +import java.util.List; + public class AnnotateMethodInGeneratedFilesTest extends LightJavaCodeInsightFixtureTestCase { private final GeneratedSourcesFilter myGeneratedSourcesFilter = new GeneratedSourcesFilter() { @Override @@ -34,11 +38,11 @@ public class AnnotateMethodInGeneratedFilesTest extends LightJavaCodeInsightFixt } public void testAnnotateOverriddenMethod() { - doTest("Annotate overridden methods"); + doTest("Annotate overriding methods"); } public void testAnnotateOverriddenParameters() { - doTest("Annotate overridden method parameters"); + doTest("Annotate overriding method parameters"); } private void doTest(String quickFixName) { @@ -47,7 +51,10 @@ public class AnnotateMethodInGeneratedFilesTest extends LightJavaCodeInsightFixt String generatedTextBefore = generated.getText(); myFixture.configureByFile("before" + getTestName(false) + ".java"); - myFixture.launchAction(myFixture.findSingleIntention(quickFixName)); + List intentions = myFixture.getAvailableIntentions(); + IntentionAction action = ContainerUtil.find(intentions, i -> i.getText().startsWith(quickFixName)); + assertNotNull(action); + myFixture.launchAction(action); myFixture.checkResultByFile("after" + getTestName(false) + ".java"); assertEquals(generatedTextBefore, generated.getText()); } diff --git a/java/java-tests/testSrc/com/intellij/java/codeInspection/NullableStuffInspectionTest.java b/java/java-tests/testSrc/com/intellij/java/codeInspection/NullableStuffInspectionTest.java index c30a7b29f641..e67e7a9c932c 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInspection/NullableStuffInspectionTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInspection/NullableStuffInspectionTest.java @@ -316,7 +316,7 @@ public class NullableStuffInspectionTest extends LightJavaCodeInsightFixtureTest public void testAnnotateOverridingParametersOnNotNullMethod() { myInspection.REPORT_ANNOTATION_NOT_PROPAGATED_TO_OVERRIDERS = true; - doTestWithFix("Annotate overridden method parameters"); + doTestWithFix("Annotate overriding method parameters"); } public void testRemoveMethodAnnotationRemovesOverriders() { @@ -374,7 +374,7 @@ public class NullableStuffInspectionTest extends LightJavaCodeInsightFixtureTest public void testOverridersHaveNonDefaultAnnotation() { myFixture.addClass("package org.eclipse.jdt.annotation;\n\nimport java.lang.annotation.*;\n\n@Target(ElementType.PARAMETER) public @interface NonNull { }"); myInspection.REPORT_ANNOTATION_NOT_PROPAGATED_TO_OVERRIDERS = true; - doTestWithFix("Annotate overridden method parameters"); + doTestWithFix("Annotate overriding method parameters"); } public void testQuickFixOnTypeArgument() {