diff --git a/java/java-analysis-api/resources/messages/JavaAnalysisBundle.properties b/java/java-analysis-api/resources/messages/JavaAnalysisBundle.properties index bf4483609bc8..015767a43dc4 100644 --- a/java/java-analysis-api/resources/messages/JavaAnalysisBundle.properties +++ b/java/java-analysis-api/resources/messages/JavaAnalysisBundle.properties @@ -188,8 +188,12 @@ ignore.inside.non.static.imports=Ignore inside non-static imports 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.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 diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/AnnotateMethodFix.java b/java/java-analysis-impl/src/com/intellij/codeInspection/AnnotateMethodFix.java index b5030a455ff4..5b6478d6bcbd 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/AnnotateMethodFix.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/AnnotateMethodFix.java @@ -5,7 +5,6 @@ import com.intellij.codeInsight.AnnotationUtil; import com.intellij.codeInsight.FileModificationService; import com.intellij.codeInsight.intention.AddAnnotationPsiFix; import com.intellij.codeInspection.nullable.NullableStuffInspectionBase; -import com.intellij.codeInspection.util.IntentionName; import com.intellij.java.analysis.JavaAnalysisBundle; import com.intellij.openapi.application.ReadAction; import com.intellij.openapi.command.undo.UndoUtil; @@ -30,7 +29,7 @@ import static com.intellij.codeInsight.AnnotationUtil.CHECK_TYPE; public class AnnotateMethodFix implements LocalQuickFix { private static final Logger LOG = Logger.getInstance(AnnotateMethodFix.class); - private final String myAnnotation; + protected final String myAnnotation; private final String[] myAnnotationsToRemove; public AnnotateMethodFix(@NotNull String fqn, String @NotNull ... annotationsToRemove) { @@ -42,13 +41,15 @@ public class AnnotateMethodFix implements LocalQuickFix { @Override @NotNull public String getName() { - return getFamilyName() + " " + getPreposition() + " '@" + ClassUtil.extractClassName(myAnnotation) + "'"; - } - - @IntentionName - @NotNull - protected String getPreposition() { - return "with"; + if (annotateSelf()) { + if (annotateOverriddenMethods()) { + return JavaAnalysisBundle.message("inspection.annotate.overridden.method.and.self.quickfix.name", + ClassUtil.extractClassName(myAnnotation)); + } + return JavaAnalysisBundle.message("inspection.annotate.method.quickfix.name", ClassUtil.extractClassName(myAnnotation)); + } + return JavaAnalysisBundle.message("inspection.annotate.overridden.method.quickfix.name", + ClassUtil.extractClassName(myAnnotation)); } @Override diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/inheritance/ImplicitSubclassInspection.kt b/java/java-analysis-impl/src/com/intellij/codeInspection/inheritance/ImplicitSubclassInspection.kt index b63f5ec05873..49ee645ebce6 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/inheritance/ImplicitSubclassInspection.kt +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/inheritance/ImplicitSubclassInspection.kt @@ -35,6 +35,7 @@ import com.intellij.uast.UastSmartPointer import com.intellij.uast.createUastSmartPointer import com.intellij.util.IncorrectOperationException import com.intellij.util.SmartList +import org.jetbrains.annotations.Nls import org.jetbrains.uast.UClass import org.jetbrains.uast.UDeclaration import org.jetbrains.uast.toUElementOfType @@ -189,6 +190,7 @@ class ImplicitSubclassInspection : LocalInspectionTool() { private val MAX_MESSAGES_TO_COMBINE = 3 + @Nls private val text = when (uDeclaration) { is UClass -> if (actionsToPerform.size <= MAX_MESSAGES_TO_COMBINE) diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/nullable/NullableStuffInspectionBase.java b/java/java-analysis-impl/src/com/intellij/codeInspection/nullable/NullableStuffInspectionBase.java index ddc432b4746e..6ad854edd062 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/nullable/NullableStuffInspectionBase.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/nullable/NullableStuffInspectionBase.java @@ -24,6 +24,7 @@ import com.intellij.psi.impl.search.JavaOverridingMethodsSearcher; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.searches.OverridingMethodsSearch; import com.intellij.psi.util.*; +import com.intellij.psi.util.ClassUtil; import com.intellij.util.ArrayUtil; import com.intellij.util.ArrayUtilRt; import com.intellij.util.ObjectUtils; @@ -1012,10 +1013,10 @@ public class NullableStuffInspectionBase extends AbstractBaseJavaLocalInspection super(defaultNotNull, annotationsToRemove); } - @NotNull @Override - protected String getPreposition() { - return "as"; + public @NotNull String getName() { + return JavaAnalysisBundle.message("inspection.annotate.overridden.method.nullable.quickfix.name", + ClassUtil.extractClassName(myAnnotation)); } @Override