[i18n] annotate inspection gadgets
authorAlexandr Suhinin <alexandr.suhinin@jetbrains.com>
Tue, 11 Aug 2020 06:56:56 +0000 (09:56 +0300)
committerintellij-monorepo-bot <intellij-monorepo-bot-no-reply@jetbrains.com>
Tue, 11 Aug 2020 09:44:35 +0000 (09:44 +0000)
GitOrigin-RevId: bc29446d3d02ddef3664d58222b015bc89704d5f

33 files changed:
java/java-psi-api/src/com/intellij/psi/PsiType.java
java/java-psi-api/src/com/intellij/psi/util/PsiTypesUtil.java
platform/util/src/com/intellij/openapi/util/text/StringUtil.java
plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/classlayout/ListenerMayUseAdapterInspection.java
plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/fixes/EqualityToEqualsFix.java
plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/javadoc/MissingDeprecatedAnnotationInspection.java
plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/logging/LoggingConditionDisagreesWithLogStatementInspection.java
plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/numeric/PointlessArithmeticExpressionInspection.java
plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/performance/ManualArrayCopyInspection.java
plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/performance/ManualArrayToCollectionCopyInspection.java
plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/performance/RedundantStringFormatCallInspection.java
plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/performance/ReplaceExpressionWithTextFix.java
plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/CommentTracker.java
plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/ControlFlowUtils.java
plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/ExpressionUtils.java
plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/MethodCallUtils.java
plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/VariableNameGenerator.java
plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/MultipleVariablesInDeclarationInspectionMerger.java
plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/SingleStatementInBlockInspection.java
plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/testFrameworks/SimplifiableAssertionInspection.java
plugins/InspectionGadgets/src/com/intellij/codeInspection/LambdaCanBeMethodReferenceInspection.java
plugins/InspectionGadgets/src/com/intellij/codeInspection/RedundantComparatorComparingInspection.java
plugins/InspectionGadgets/src/com/siyeh/ig/bugs/MismatchedCollectionQueryUpdateInspection.java
plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/PointlessBooleanExpressionInspection.java
plugins/InspectionGadgets/src/com/siyeh/ig/junit/JUnit5ConverterInspection.java
plugins/InspectionGadgets/src/com/siyeh/ig/junit/MakePublicStaticVoidFix.java
plugins/InspectionGadgets/src/com/siyeh/ig/logging/LoggerInitializedWithForeignClassInspection.java
plugins/InspectionGadgets/src/com/siyeh/ig/performance/ListRemoveInLoopInspection.java
plugins/InspectionGadgets/src/com/siyeh/ig/performance/MethodMayBeStaticInspection.java
plugins/InspectionGadgets/src/com/siyeh/ig/redundancy/RedundantClassCallInspection.java
plugins/InspectionGadgets/src/com/siyeh/ig/redundancy/RedundantCollectionOperationInspection.java
plugins/InspectionGadgets/src/com/siyeh/ig/redundancy/RedundantStringOperationInspection.java
plugins/InspectionGadgets/src/com/siyeh/ig/style/LambdaCanBeReplacedWithAnonymousInspection.java

index 367ee9a10ea2cdd65a5c0210980bd5626014dd52..9622ec9c98b0a48a0793626fa7a7892c4601bc5e 100644 (file)
@@ -8,10 +8,7 @@ import com.intellij.openapi.util.NlsSafe;
 import com.intellij.psi.search.GlobalSearchScope;
 import com.intellij.psi.util.TypeConversionUtil;
 import com.intellij.util.ArrayFactory;
-import org.jetbrains.annotations.ApiStatus;
-import org.jetbrains.annotations.Contract;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.*;
 
 /**
  * Representation of Java type (primitive type, array or class type).
@@ -147,7 +144,7 @@ public abstract class PsiType implements PsiAnnotationOwner, Cloneable, JvmType
    * @param text the text to compare with.
    * @return true if the string is equivalent to the type, false otherwise
    */
-  public abstract boolean equalsToText(@NotNull String text);
+  public abstract boolean equalsToText(@NotNull @NonNls String text);
 
   /**
    * Returns the class type for qualified class name.
index aaae628670f30cb75e761a64f7f8cb0bef800bd3..c53bf7a35642b4ce5715bfb66293eddd5474bd62 100644 (file)
@@ -122,8 +122,7 @@ public final class PsiTypesUtil {
    * @return unboxed type name if available; same value otherwise
    */
   @Contract("null -> null; !null -> !null")
-  @Nullable
-  public static String unboxIfPossible(@Nullable String type) {
+  public static @Nullable @NonNls String unboxIfPossible(@Nullable @NonNls String type) {
     if (type == null) return null;
     final String s = ourUnboxedTypes.get(type);
     return s == null? type : s;
index 8f224e27a270f91a9d5da47c825e7d3097edfeac..8875202d6f07ddaf30dae0428ac51e0e454d819c 100644 (file)
@@ -1491,7 +1491,7 @@ public class StringUtil extends StringUtilRt {
   }
 
   @Contract(pure = true)
-  public static boolean containsAnyChar(final @NotNull String value, final @NotNull String chars) {
+  public static boolean containsAnyChar(final @NotNull String value, final @NotNull @NonNls String chars) {
     return Strings.containsAnyChar(value, chars);
   }
 
@@ -2300,7 +2300,7 @@ public class StringUtil extends StringUtilRt {
   }
 
   @Contract(pure = true)
-  public static @NotNull String getQualifiedName(@Nullable String packageName, @NotNull String className) {
+  public static @NotNull @NonNls String getQualifiedName(@Nullable @NonNls String packageName, @NotNull @NonNls String className) {
     if (packageName == null || packageName.isEmpty()) {
       return className;
     }
index 4789569b498d48c1fc3e9c523a67e49e815a399d..3181d3b4976da7299e06a14e1c8a6e3c2ef5bfab 100644 (file)
@@ -27,6 +27,7 @@ import com.siyeh.ig.BaseInspection;
 import com.siyeh.ig.BaseInspectionVisitor;
 import com.siyeh.ig.InspectionGadgetsFix;
 import com.siyeh.ig.psiutils.ControlFlowUtils;
+import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 
 import javax.swing.*;
@@ -150,7 +151,7 @@ public class ListenerMayUseAdapterInspection extends BaseInspection {
         return;
       }
       final PsiClass implementsClass = (PsiClass)target;
-      final String className = implementsClass.getQualifiedName();
+      @NonNls final String className = implementsClass.getQualifiedName();
       if (className == null || !className.endsWith("Listener")) {
         return;
       }
@@ -168,7 +169,7 @@ public class ListenerMayUseAdapterInspection extends BaseInspection {
       if (allDefault) {
         return;
       }
-      final String adapterName = className.substring(0, className.length() - 8) + "Adapter";
+      @NonNls final String adapterName = className.substring(0, className.length() - 8) + "Adapter";
       final GlobalSearchScope scope = implementsClass.getResolveScope();
       final PsiClass adapterClass = JavaPsiFacade.getInstance(aClass.getProject()).findClass(adapterName, scope);
       if (adapterClass == null || adapterClass.equals(aClass) || !adapterClass.hasModifierProperty(PsiModifier.ABSTRACT) ||
index 33baf22bbcf616e1ac399c15ab08ee3038f3e2e0..b1e408d84781c1d9fe8cabfc43ec040647ea0e4d 100644 (file)
@@ -28,6 +28,7 @@ import com.siyeh.ig.PsiReplacementUtil;
 import com.siyeh.ig.psiutils.CommentTracker;
 import com.siyeh.ig.psiutils.ParenthesesUtils;
 import org.jetbrains.annotations.Nls;
+import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -107,7 +108,7 @@ public class EqualityToEqualsFix extends InspectionGadgetsFix {
       return;
     }
     CommentTracker commentTracker = new CommentTracker();
-    final StringBuilder newExpression = new StringBuilder();
+    @NonNls final StringBuilder newExpression = new StringBuilder();
     if (JavaTokenType.NE.equals(expression.getOperationTokenType())) {
       newExpression.append('!');
     }
index df7725334596313a195e7dea943973bcc1201cd4..3064ec7a80e9a7fc1e4b58337751d72233c5aa20 100644 (file)
@@ -18,6 +18,7 @@ package com.siyeh.ig.javadoc;
 import com.intellij.codeInspection.ProblemDescriptor;
 import com.intellij.codeInspection.ui.SingleCheckboxOptionsPanel;
 import com.intellij.openapi.project.Project;
+import com.intellij.openapi.util.NlsSafe;
 import com.intellij.openapi.util.text.StringUtil;
 import com.intellij.pom.Navigatable;
 import com.intellij.psi.*;
@@ -32,6 +33,7 @@ import com.siyeh.ig.BaseInspectionVisitor;
 import com.siyeh.ig.InspectionGadgetsFix;
 import com.siyeh.ig.psiutils.MethodUtils;
 import org.jetbrains.annotations.Nls;
+import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 
 import javax.swing.*;
@@ -93,7 +95,7 @@ final class MissingDeprecatedAnnotationInspection extends BaseInspection {
 
   private static class MissingDeprecatedTagFix extends InspectionGadgetsFix {
 
-    private static final String DEPRECATED_TAG_NAME = "deprecated";
+    @NonNls private static final String DEPRECATED_TAG_NAME = "deprecated";
 
     @Nls(capitalization = Nls.Capitalization.Sentence)
     @NotNull
@@ -121,7 +123,7 @@ final class MissingDeprecatedAnnotationInspection extends BaseInspection {
         moveCaretAfter(addedTag);
       }
       else {
-        PsiDocComment newDocComment = JavaPsiFacade.getElementFactory(project).createDocCommentFromText(
+        @NlsSafe PsiDocComment newDocComment = JavaPsiFacade.getElementFactory(project).createDocCommentFromText(
           StringUtil.join("/**\n", " * ", "@" + DEPRECATED_TAG_NAME + " TODO: explain", "\n */")
         );
         PsiElement addedComment = documentedElement.addBefore(newDocComment, documentedElement.getFirstChild());
index 62ecbf64691fcf9c5802dd528e8dfa22b2c79f70..b605e5e3f82268bbf5d728e531e1f098efa7fc37 100644 (file)
@@ -19,10 +19,12 @@ import com.intellij.openapi.util.text.StringUtil;
 import com.intellij.psi.*;
 import com.intellij.psi.util.InheritanceUtil;
 import com.intellij.psi.util.PsiTreeUtil;
+import com.intellij.util.containers.ContainerUtil;
 import com.siyeh.InspectionGadgetsBundle;
 import com.siyeh.ig.BaseInspection;
 import com.siyeh.ig.BaseInspectionVisitor;
 import com.siyeh.ig.psiutils.TypeUtils;
+import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -30,10 +32,11 @@ import java.util.*;
 
 public class LoggingConditionDisagreesWithLogStatementInspection extends BaseInspection {
 
-  private static final Set<String> loggingLevels = new HashSet(Arrays.asList(
-    "debug", "error", "fatal", "info", "trace", "warn", "severe", "warning", "info", "config", "fine", "finer", "finest"));
+  private static final @NonNls Set<String> loggingLevels = ContainerUtil.set(
+    "debug", "error", "fatal", "info", "trace", "warn", "severe", "warning", "info", "config", "fine", "finer", "finest"
+  );
 
-  private static final Map<String, LoggingProblemChecker> problemCheckers = new HashMap();
+  private static final Map<String, LoggingProblemChecker> problemCheckers = new HashMap<>();
 
   static {
     final Log4jLikeProblemChecker checker = new Log4jLikeProblemChecker();
index 9cece6adcc7b756ee31ab3f4bc0fde298564dbf0..99156910a5b129115abac55891bcb1c5e7d9068e 100644 (file)
@@ -143,8 +143,7 @@ public class PointlessArithmeticExpressionInspection extends BaseInspection {
     return expressions;
   }
 
-  @NotNull
-  private static String numberAsText(int num, PsiType type) {
+  private static @NotNull @NonNls String numberAsText(int num, PsiType type) {
     if (PsiType.DOUBLE.equals(type)) return num + ".0";
     if (PsiType.FLOAT.equals(type)) return num + ".0f";
     if (PsiType.LONG.equals(type)) return num + "L";
index 99efcad7c17f752af8112d545ae0786499c49d13..25c94f2bd35899312844ed6a9fdafa13982dc88e 100644 (file)
@@ -87,8 +87,7 @@ public class ManualArrayCopyInspection extends BaseInspection {
       }
     }
 
-    @Nullable
-    private String buildSystemArrayCopyText(PsiForStatement forStatement, CommentTracker commentTracker) {
+    private @Nullable @NonNls String buildSystemArrayCopyText(PsiForStatement forStatement, CommentTracker commentTracker) {
       final PsiExpression condition = forStatement.getCondition();
       final PsiBinaryExpression binaryExpression = (PsiBinaryExpression)PsiUtil.skipParenthesizedExprDown(condition);
       if (binaryExpression == null) {
index 95ef789b6ecea9c2f09ce745c3b0b6dda5ad84d6..d5c0d98526794551c0bdb637e73bb79d8e58f5fc 100644 (file)
@@ -132,8 +132,7 @@ public class ManualArrayToCollectionCopyInspection extends BaseInspection {
       PsiReplacementUtil.replaceStatementAndShortenClassNames(loop, newExpression);
     }
 
-    @Nullable
-    private static String getCollectionsAddAllText(PsiForeachStatement foreachStatement) {
+    private static @Nullable @NonNls String getCollectionsAddAllText(PsiForeachStatement foreachStatement) {
       final PsiStatement body = getBody(foreachStatement);
       if (!(body instanceof PsiExpressionStatement)) return null;
       final PsiExpressionStatement expressionStatement = (PsiExpressionStatement)body;
@@ -151,8 +150,7 @@ public class ManualArrayToCollectionCopyInspection extends BaseInspection {
       return collectionText + ".addAll(java.util.Arrays.asList(" + arrayText + "));";
     }
 
-    @Nullable
-    private static String getCollectionsAddAllText(PsiForStatement forStatement) {
+    private static @Nullable @NonNls String getCollectionsAddAllText(PsiForStatement forStatement) {
       final PsiExpression expression = forStatement.getCondition();
       final PsiBinaryExpression condition = tryCast(PsiUtil.skipParenthesizedExprDown(expression), PsiBinaryExpression.class);
       if (condition == null) return null;
index 6320ff1ba40ad318b1b3481e31b2990034f7f532..5d74afaf12c2d2705076dc17a718b0336c309e45 100644 (file)
@@ -18,6 +18,7 @@ import com.siyeh.ig.callMatcher.CallMatcher;
 import com.siyeh.ig.psiutils.CommentTracker;
 import com.siyeh.ig.psiutils.ExpressionUtils;
 import org.jetbrains.annotations.Contract;
+import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -360,7 +361,7 @@ public final class RedundantStringFormatCallInspection extends LocalInspectionTo
       final PsiElement formatArg = PsiUtil.skipParenthesizedExprDown(expr);
       if (formatArg == null) return;
 
-      final String newLineToken = "%n";
+      final @NonNls String newLineToken = "%n";
 
       if (formatArg instanceof PsiLiteralExpression) {
         final PsiLiteralExpression replacement = joinWithNewlineToken((PsiLiteralExpression)formatArg);
index cbb311cfaac23c4c074629cc276bdddcc26a3054..19905e5caf64408926f48d6d5e89cf0448544ff5 100644 (file)
@@ -11,13 +11,14 @@ import com.intellij.psi.util.PsiTreeUtil;
 import com.siyeh.ig.InspectionGadgetsFix;
 import com.siyeh.ig.psiutils.CommentTracker;
 import org.jetbrains.annotations.Nls;
+import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 
 public class ReplaceExpressionWithTextFix extends InspectionGadgetsFix {
   private final @NotNull String myReplacementText;
   private final @NotNull @Nls(capitalization = Nls.Capitalization.Sentence) String myName;
 
-  public ReplaceExpressionWithTextFix(@NotNull String replacementText,
+  public ReplaceExpressionWithTextFix(@NotNull @NonNls String replacementText,
                                       @NotNull
                                       @Nls(capitalization = Nls.Capitalization.Sentence) String name) {
     myReplacementText = replacementText;
index 659f437c369e95cdc0aa1076cddf4c033baec681..4aeed6e93bfec60cbaea22d2002e93b572afaee5 100644 (file)
@@ -3,6 +3,7 @@ package com.siyeh.ig.psiutils;
 
 import com.intellij.lang.ASTFactory;
 import com.intellij.lang.ASTNode;
+import com.intellij.openapi.util.NlsSafe;
 import com.intellij.openapi.util.TextRange;
 import com.intellij.psi.*;
 import com.intellij.psi.impl.source.tree.ChildRole;
@@ -413,7 +414,7 @@ public final class CommentTracker {
    * @param text    replacement text
    * @return the element which was actually inserted in the tree
    */
-  public @NotNull PsiElement replaceAndRestoreComments(@NotNull PsiElement element, @NotNull String text) {
+  public @NotNull PsiElement replaceAndRestoreComments(@NotNull PsiElement element, @NotNull @NlsSafe String text) {
     PsiElement replacement = createElement(element, text);
     return replaceAndRestoreComments(element, replacement);
   }
index 15fb64de108e2b83e2402745a3b7a9ba92fe81fe..8f9808cc68bf3f684d420de82adbae4d98c7659f 100644 (file)
@@ -349,8 +349,8 @@ public final class ControlFlowUtils {
     return systemExitFinder.exitFound();
   }
 
-  public static boolean elementContainsCallToMethod(PsiElement context, String containingClassName, PsiType returnType,
-    String methodName, PsiType... parameterTypes) {
+  public static boolean elementContainsCallToMethod(PsiElement context, @NonNls String containingClassName, PsiType returnType,
+    @NonNls String methodName, PsiType... parameterTypes) {
     final MethodCallFinder methodCallFinder = new MethodCallFinder(containingClassName, returnType, methodName, parameterTypes);
     context.accept(methodCallFinder);
     return methodCallFinder.containsCallToMethod();
index 237218377ec8681b09a4b889e775fcccea2705e1..43ebb522a3155b0df3d6495e66eab71c3bc64e41 100644 (file)
@@ -1032,7 +1032,7 @@ public final class ExpressionUtils {
    * @param call to rename
    * @param newName new name
    */
-  public static void bindCallTo(@NotNull PsiMethodCallExpression call, @NotNull String newName) {
+  public static void bindCallTo(@NotNull PsiMethodCallExpression call, @NotNull @NonNls String newName) {
     bindReferenceTo(call.getMethodExpression(), newName);
   }
 
index e3eaf60fdf0926c92863f606ece63e1d4088d117..ce6cd1a982de68844c3e33cd91ef891860f339ea 100644 (file)
@@ -51,8 +51,7 @@ public final class MethodCallUtils {
 
   private MethodCallUtils() {}
 
-  @Nullable
-  public static String getMethodName(@NotNull PsiMethodCallExpression expression) {
+  public static @Nullable @NonNls String getMethodName(@NotNull PsiMethodCallExpression expression) {
     return expression.getMethodExpression().getReferenceName();
   }
 
@@ -222,7 +221,7 @@ public final class MethodCallUtils {
 
   public static boolean isMethodCallOnVariable(@NotNull PsiMethodCallExpression expression,
                                                @NotNull PsiVariable variable,
-                                               @NotNull String methodName) {
+                                               @NotNull @NonNls String methodName) {
     final PsiReferenceExpression methodExpression = expression.getMethodExpression();
     @NonNls final String name = methodExpression.getReferenceName();
     if (!methodName.equals(name)) {
index c16180c44dbb78f7c783115b7ca7c3edd087e7bc..f22e13ec47c333bcee283e6af28fb7c6ff347f83 100644 (file)
@@ -23,7 +23,7 @@ public final class VariableNameGenerator {
   private final @NotNull JavaCodeStyleManager myManager;
   private final @NotNull PsiElement myContext;
   private final @NotNull VariableKind myKind;
-  private final Set<String> candidates = new LinkedHashSet<>();
+  private final @NonNls Set<String> candidates = new LinkedHashSet<>();
 
   /**
    * Constructs a new generator
@@ -102,7 +102,8 @@ public final class VariableNameGenerator {
   @NotNull
   public String generate(boolean lookForward) {
     String suffixed = null;
-    for (String candidate : candidates.isEmpty() ? Collections.singleton("v") : candidates) {
+    @NonNls final Set<String> candidates = this.candidates.isEmpty() ? Collections.singleton("v") : this.candidates;
+    for (String candidate : candidates) {
       String name = myManager.suggestUniqueVariableName(candidate, myContext, lookForward);
       if (name.equals(candidate)) return name;
       if (suffixed == null) {
index bd76b76f68fabe604f9291451d503a6697b1147f..8b6d6a4cf137e0fc67b2fc995c483eaa30c111ec 100644 (file)
@@ -3,6 +3,7 @@ package com.siyeh.ig.style;
 
 import com.intellij.codeInspection.ex.InspectionElementsMergerBase;
 import org.jdom.Element;
+import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 
 /**
@@ -10,8 +11,8 @@ import org.jetbrains.annotations.NotNull;
  */
 public class MultipleVariablesInDeclarationInspectionMerger extends InspectionElementsMergerBase {
 
-  private static final String MULTIPLE_DECLARATION = "MultipleDeclaration";
-  private static final String MULTIPLE_TYPED_DECLARATION = "MultipleTypedDeclaration";
+  @NonNls private static final String MULTIPLE_DECLARATION = "MultipleDeclaration";
+  @NonNls private static final String MULTIPLE_TYPED_DECLARATION = "MultipleTypedDeclaration";
 
   @Override
   protected boolean isEnabledByDefault(@NotNull String sourceToolName) {
index a23cd1a532797aa6ee074ff1f567dcef1ca1a585..3210420ebd5e996bc6df4e68617f9fae54c85a92 100644 (file)
@@ -16,10 +16,7 @@ import com.siyeh.ig.BaseInspection;
 import com.siyeh.ig.BaseInspectionVisitor;
 import com.siyeh.ig.InspectionGadgetsFix;
 import com.siyeh.ig.psiutils.CommentTracker;
-import org.jetbrains.annotations.Contract;
-import org.jetbrains.annotations.Nls;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.*;
 
 public class SingleStatementInBlockInspection extends BaseInspection {
 
@@ -126,7 +123,7 @@ public class SingleStatementInBlockInspection extends BaseInspection {
   }
 
   private static class SingleStatementInBlockFix extends InspectionGadgetsFix {
-    private final String myKeywordText;
+    private final @NonNls String myKeywordText;
 
     SingleStatementInBlockFix(String keywordText) {
       myKeywordText = keywordText;
index 4d2f7812ead5c681647bd60025c01bd9c699f120..9c5486932deb95d2ef8afc88747c058719fe2071 100644 (file)
@@ -208,7 +208,7 @@ public class SimplifiableAssertionInspection extends BaseInspection {
      * <code>assertFalse</code> -> <code>assertNotEquals</code> (do not replace for junit 5 Assertions
      * as there is no primitive overloads for <code>assertNotEquals</code> and boxing would be enforced if replaced)
      */
-    private void replaceWithAssertEquals(AssertHint assertHint, final String methodName) {
+    private void replaceWithAssertEquals(AssertHint assertHint, final @NonNls String methodName) {
       final PsiExpression firstArgument = assertHint.getFirstArgument();
       PsiExpression lhs = null;
       PsiExpression rhs = null;
@@ -330,7 +330,7 @@ public class SimplifiableAssertionInspection extends BaseInspection {
       PsiReplacementUtil.replaceExpressionAndShorten(assertHint.getOriginalExpression(), newExpression);
     }
 
-    private String compoundMethodCall(String methodName, AssertHint assertHint, String args) {
+    private String compoundMethodCall(@NonNls String methodName, AssertHint assertHint, String args) {
       final PsiExpression message = assertHint.getMessage();
       final StringBuilder newExpression = new StringBuilder();
       addStaticImportOrQualifier(methodName, assertHint, newExpression);
index 97be086a2490870b128fade0d492b77a7e2a652f..134c6c0102cfbe468887cba344a517c80835df7e 100644 (file)
@@ -7,6 +7,7 @@ import com.intellij.openapi.diagnostic.Logger;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.util.Condition;
 import com.intellij.openapi.util.Conditions;
+import com.intellij.openapi.util.NlsSafe;
 import com.intellij.openapi.util.text.StringUtil;
 import com.intellij.profile.codeInspection.InspectionProjectProfileManager;
 import com.intellij.psi.*;
@@ -23,6 +24,7 @@ import com.siyeh.InspectionGadgetsBundle;
 import com.siyeh.ig.psiutils.CommentTracker;
 import com.siyeh.ig.psiutils.ExpressionUtils;
 import org.jetbrains.annotations.Nls;
+import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -369,8 +371,7 @@ public class LambdaCanBeMethodReferenceInspection extends AbstractBaseJavaLocalI
            parameters[0] == ((PsiReferenceExpression)expression).resolve();
   }
 
-  @Nullable
-  static String createMethodReferenceText(final PsiElement element,
+  static @Nullable @NonNls String createMethodReferenceText(final PsiElement element,
                                                  final PsiType functionalInterfaceType,
                                                  final PsiVariable[] parameters) {
     if (element instanceof PsiMethodCallExpression) {
@@ -473,12 +474,11 @@ public class LambdaCanBeMethodReferenceInspection extends AbstractBaseJavaLocalI
     return classOrPrimitiveName + StringUtil.repeat("[]", newExprType.getArrayDimensions());
   }
 
-  @Nullable
-  private static String getQualifierTextByMethodCall(final PsiMethodCallExpression methodCall,
-                                                     final PsiType functionalInterfaceType,
-                                                     final PsiVariable[] parameters,
-                                                     final PsiMethod psiMethod,
-                                                     final PsiSubstitutor substitutor) {
+  private static @Nullable @NlsSafe String getQualifierTextByMethodCall(final PsiMethodCallExpression methodCall,
+                                                                        final PsiType functionalInterfaceType,
+                                                                        final PsiVariable[] parameters,
+                                                                        final PsiMethod psiMethod,
+                                                                        final PsiSubstitutor substitutor) {
 
     final PsiExpression qualifierExpression = methodCall.getMethodExpression().getQualifierExpression();
 
index 92f1add1f33ec107ecace54859689678065b674a..6640522213f51bcafc0a04604a2397392929c58c 100644 (file)
@@ -14,6 +14,7 @@ import com.siyeh.ig.psiutils.CommentTracker;
 import com.siyeh.ig.psiutils.ExpressionUtils;
 import com.siyeh.ig.psiutils.FunctionalExpressionUtils;
 import org.jetbrains.annotations.Nls;
+import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -47,7 +48,7 @@ public class RedundantComparatorComparingInspection extends AbstractBaseJavaLoca
     staticCall(JAVA_UTIL_STREAM_COLLECTORS, "minBy", "maxBy").parameterTypes(JAVA_UTIL_COMPARATOR)
   );
 
-  private static final CallMapper<String> REPLACEMENTS = new CallMapper<String>()
+  private static final @NonNls CallMapper<String> REPLACEMENTS = new CallMapper<String>()
     .register(COMPARATOR_COMPARING, "thenComparing")
     .register(staticCall(JAVA_UTIL_COMPARATOR, "comparingInt").parameterCount(1), "thenComparingInt")
     .register(staticCall(JAVA_UTIL_COMPARATOR, "comparingLong").parameterCount(1), "thenComparingLong")
index eaefdadced98f001e37d2ad783f7604d7985a394..e8d358fa34714369799da9a70d53eca8ca9bea1b 100644 (file)
@@ -38,6 +38,7 @@ import com.siyeh.ig.ui.ExternalizableStringSet;
 import com.siyeh.ig.ui.UiUtils;
 import one.util.streamex.StreamEx;
 import org.intellij.lang.annotations.Pattern;
+import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -68,9 +69,9 @@ public class MismatchedCollectionQueryUpdateInspection
       CallMatcher.instanceCall(CommonClassNames.JAVA_UTIL_COLLECTION, "addAll", "removeAll", "containsAll", "remove"),
       CallMatcher.instanceCall(CommonClassNames.JAVA_UTIL_MAP, "putAll", "remove")
     );
-  private static final Set<String> COLLECTIONS_QUERIES =
+  private static final @NonNls Set<String> COLLECTIONS_QUERIES =
     ContainerUtil.set("binarySearch", "disjoint", "indexOfSubList", "lastIndexOfSubList", "max", "min");
-  private static final Set<String> COLLECTIONS_UPDATES = ContainerUtil.set("addAll", "fill", "copy", "replaceAll", "sort");
+  private static final @NonNls Set<String> COLLECTIONS_UPDATES = ContainerUtil.set("addAll", "fill", "copy", "replaceAll", "sort");
   private static final Set<String> COLLECTIONS_ALL =
     StreamEx.of(COLLECTIONS_QUERIES).append(COLLECTIONS_UPDATES).toImmutableSet();
   @SuppressWarnings("PublicField")
index 6c399bdad1ad95a4e6f36ea1874cfa535522fd18..d59fb1e6222e26c3559b3cb7a82b909fe9e1dc5f 100644 (file)
@@ -30,6 +30,7 @@ import com.siyeh.ig.BaseInspectionVisitor;
 import com.siyeh.ig.InspectionGadgetsFix;
 import com.siyeh.ig.psiutils.*;
 import org.jetbrains.annotations.Nls;
+import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -261,7 +262,7 @@ public class PointlessBooleanExpressionInspection extends BaseInspection {
     buildSimplifiedExpression(operand, out.append(sign.getText()), tracker);
   }
 
-  private void buildSimplifiedAssignmentExpression(PsiAssignmentExpression expression, StringBuilder out, CommentTracker tracker) {
+  private void buildSimplifiedAssignmentExpression(PsiAssignmentExpression expression, @NonNls StringBuilder out, CommentTracker tracker) {
     final IElementType tokenType = expression.getOperationTokenType();
     final PsiExpression lhs = expression.getLExpression();
 
index 989b6cbf65f1d9352e5da605bc2ae1c5e138c814..06ff05792f34cf7f8ed087a69634d25f94eee68d 100644 (file)
@@ -179,7 +179,7 @@ public class JUnit5ConverterInspection extends BaseInspection {
               return true;
             });
             if (!inheritors.isEmpty()) {
-              final String problem = "Class " +
+              @Nls final String problem = "Class " +
                                    RefactoringUIUtil.getDescription(psiClass, true) +
                                    " can't be converted to JUnit 5, cause there are incompatible inheritor(s): " +
                                    StringUtil.join(inheritors, aClass -> aClass.getQualifiedName(), ", ");
index bddecedc1e9ef2d2d675ce80dbfe3c07f4218ce0..aed499a7c86b297b526d6c43b24ec4099ddf49a3 100644 (file)
@@ -32,6 +32,7 @@ import com.intellij.usageView.UsageInfo;
 import com.intellij.util.VisibilityUtil;
 import com.siyeh.InspectionGadgetsBundle;
 import com.siyeh.ig.InspectionGadgetsFix;
+import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 
 /**
@@ -52,9 +53,9 @@ class MakePublicStaticVoidFix extends InspectionGadgetsFix {
     final String methodBefore = PsiFormatUtil.formatMethod(method, PsiSubstitutor.EMPTY, formatOptions, PsiFormatUtilBase.SHOW_TYPE);
 
     String presentableVisibility = VisibilityUtil.getVisibilityString(newVisibility);
-    final String methodAfter = (presentableVisibility.isEmpty() ? presentableVisibility : presentableVisibility + " ") +
-                               (makeStatic ? "static " : "") +
-                               "void " + method.getName() + "()";
+    final @NonNls String methodAfter = (presentableVisibility.isEmpty() ? presentableVisibility : presentableVisibility + " ") +
+                                       (makeStatic ? "static " : "") +
+                                       "void " + method.getName() + "()";
 
     myName = InspectionGadgetsBundle.message("make.public.static.void.fix.name", methodBefore, methodAfter);
     myMakeStatic = makeStatic;
index f2261f971a92efe87ea57d82add900309e5164fe..60e6dc1e352c389b6ca27f9a41c4b1a3abb6923b 100644 (file)
@@ -62,7 +62,7 @@ public class LoggerInitializedWithForeignClassInspection extends BaseInspection
   @SuppressWarnings("PublicField")
   public String loggerClassName = DEFAULT_FACTORY_CLASS_NAMES;
   @SuppressWarnings("PublicField")
-  public String loggerFactoryMethodName = DEFAULT_FACTORY_METHOD_NAMES;
+  public @NonNls String loggerFactoryMethodName = DEFAULT_FACTORY_METHOD_NAMES;
 
 
   {
@@ -121,10 +121,11 @@ public class LoggerInitializedWithForeignClassInspection extends BaseInspection
     XmlSerializer.serializeInto(this, element, new SerializationFilterBase() {
       @Override
       protected boolean accepts(@NotNull Accessor accessor, @NotNull Object bean, @Nullable Object beanValue) {
-        if ("loggerClassName".equals(accessor.getName()) && DEFAULT_FACTORY_CLASS_NAMES.equals(beanValue)) {
+        final @NonNls String factoryName = accessor.getName();
+        if ("loggerClassName".equals(factoryName) && DEFAULT_FACTORY_CLASS_NAMES.equals(beanValue)) {
           return false;
         }
-        if ("loggerFactoryMethodNames".equals(accessor.getName()) && DEFAULT_FACTORY_METHOD_NAMES.equals(beanValue)) {
+        if ("loggerFactoryMethodNames".equals(factoryName) && DEFAULT_FACTORY_METHOD_NAMES.equals(beanValue)) {
           return false;
         }
         return true;
index 0024f2605b5440ab0fa1cc2caa24cee314933477..6b859c48008b313bab3b864983325e0bb89c42ea 100644 (file)
@@ -15,6 +15,7 @@ import com.siyeh.InspectionGadgetsBundle;
 import com.siyeh.ig.callMatcher.CallMatcher;
 import com.siyeh.ig.psiutils.*;
 import org.jetbrains.annotations.Nls;
+import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 
 import static com.intellij.util.ObjectUtils.tryCast;
@@ -141,9 +142,9 @@ public class ListRemoveInLoopInspection extends AbstractBaseJavaLocalInspectionT
 
       String start = startEnd.getFirst();
       String end = startEnd.getSecond();
-      String replacement = ct.text(listExpression) + ".subList(" + start + "," + end + ").clear();";
-      replacement = "if(" + end + ">" + start + "){" + replacement + "}";
-      PsiIfStatement ifStatement = (PsiIfStatement)ct.replaceAndRestoreComments(loopStatement, replacement);
+      @NonNls final String statementText = ct.text(listExpression) + ".subList(" + start + "," + end + ").clear();";
+      final String replacementText = "if(" + end + ">" + start + "){" + statementText + "}";
+      PsiIfStatement ifStatement = (PsiIfStatement)ct.replaceAndRestoreComments(loopStatement, replacementText);
       ct = new CommentTracker();
       PsiExpression condition = ifStatement.getCondition();
       String simplified = JavaPsiMathUtil.simplifyComparison(condition, ct);
index 2ef58ee79eaa45b9f71e3607cc8ba87093714378..124aef323a42615e95e0497644ede6f97ea6844b 100644 (file)
@@ -34,15 +34,16 @@ import com.siyeh.ig.psiutils.ClassUtils;
 import com.siyeh.ig.psiutils.MethodUtils;
 import com.siyeh.ig.psiutils.SerializationUtils;
 import org.jdom.Element;
+import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 
 import javax.swing.*;
 
 public class MethodMayBeStaticInspection extends BaseInspection {
-  protected static final String IGNORE_DEFAULT_METHODS_ATTR_NAME = "m_ignoreDefaultMethods";
-  protected static final String ONLY_PRIVATE_OR_FINAL_ATTR_NAME = "m_onlyPrivateOrFinal";
-  protected static final String IGNORE_EMPTY_METHODS_ATTR_NAME = "m_ignoreEmptyMethods";
-  protected static final String REPLACE_QUALIFIER_ATTR_NAME = "m_replaceQualifier";
+  @NonNls protected static final String IGNORE_DEFAULT_METHODS_ATTR_NAME = "m_ignoreDefaultMethods";
+  @NonNls protected static final String ONLY_PRIVATE_OR_FINAL_ATTR_NAME = "m_onlyPrivateOrFinal";
+  @NonNls protected static final String IGNORE_EMPTY_METHODS_ATTR_NAME = "m_ignoreEmptyMethods";
+  @NonNls protected static final String REPLACE_QUALIFIER_ATTR_NAME = "m_replaceQualifier";
   /**
    * @noinspection PublicField
    */
index 5aa82a39b7d0aa5dfee1b81e936314fb51250821..361c868d87970464768ab6605773f11220bcd801 100644 (file)
@@ -10,6 +10,7 @@ import com.intellij.util.ArrayUtil;
 import com.siyeh.InspectionGadgetsBundle;
 import com.siyeh.ig.callMatcher.CallMatcher;
 import com.siyeh.ig.psiutils.CommentTracker;
+import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 
 import static com.intellij.util.ObjectUtils.tryCast;
@@ -52,7 +53,7 @@ public class RedundantClassCallInspection extends AbstractBaseJavaLocalInspectio
   private static abstract class ReplaceRedundantClassCallFix implements LocalQuickFix {
     final String myReplacement;
 
-    ReplaceRedundantClassCallFix(String replacement) {
+    ReplaceRedundantClassCallFix(@NonNls String replacement) {
       myReplacement = replacement;
     }
 
@@ -91,9 +92,8 @@ public class RedundantClassCallInspection extends AbstractBaseJavaLocalInspectio
       return CommonQuickFixBundle.message("fix.replace.with.x", PsiKeyword.INSTANCEOF);
     }
 
-    @NotNull
     @Override
-    String createReplacement(String argText, String classText) {
+    @NotNull @NonNls String createReplacement(String argText, String classText) {
       return argText + " instanceof " + classText;
     }
   }
index 4905b804f7e3490823e81c0854fcba13449f22b9..a2d62c57cafd6cfe5f5d5bc20f9223255904712a 100644 (file)
@@ -6,6 +6,7 @@ import com.intellij.codeInspection.*;
 import com.intellij.codeInspection.util.InspectionMessage;
 import com.intellij.codeInspection.util.IntentionName;
 import com.intellij.openapi.project.Project;
+import com.intellij.openapi.util.NlsSafe;
 import com.intellij.psi.*;
 import com.intellij.psi.codeStyle.JavaCodeStyleManager;
 import com.intellij.psi.util.PsiTreeUtil;
@@ -15,6 +16,7 @@ import com.siyeh.InspectionGadgetsBundle;
 import com.siyeh.ig.callMatcher.CallMapper;
 import com.siyeh.ig.callMatcher.CallMatcher;
 import com.siyeh.ig.psiutils.*;
+import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -242,12 +244,12 @@ public class RedundantCollectionOperationInspection extends AbstractBaseJavaLoca
   }
 
   private static final class AsListToArrayHandler implements RedundantCollectionOperationHandler {
-    private final String myReplacementMethod;
+    @NonNls private final String myReplacementMethod;
     @NotNull private final SmartPsiElementPointer<PsiExpression> myArrayPtr;
     private final SmartPsiElementPointer<PsiExpression> myFromPtr;
     private final SmartPsiElementPointer<PsiExpression> myToPtr;
     @NotNull private final String mySourceComponentType;
-    @NotNull private final String myTargetComponentType;
+    @NotNull @NonNls private final String myTargetComponentType;
 
     private AsListToArrayHandler(PsiExpression from,
                                  PsiExpression to,
@@ -295,7 +297,7 @@ public class RedundantCollectionOperationInspection extends AbstractBaseJavaLoca
       PsiExpression to = myToPtr == null ? null : myToPtr.getElement();
       if ((from == null) != (to == null)) return;
       CommentTracker ct = new CommentTracker();
-      String replacement;
+      @NonNls String replacement;
       String suffix = "";
       if (!mySourceComponentType.equals(myTargetComponentType)) {
         suffix = "," + myTargetComponentType + "[].class";
@@ -363,9 +365,8 @@ public class RedundantCollectionOperationInspection extends AbstractBaseJavaLoca
   }
 
   private static class ContainsAllSingletonHandler implements RedundantCollectionOperationHandler {
-    @NotNull
     @Override
-    public String getReplacement() {
+    public @NotNull @NlsSafe String getReplacement() {
       return "contains";
     }
 
@@ -420,7 +421,7 @@ public class RedundantCollectionOperationInspection extends AbstractBaseJavaLoca
   private static final class MapKeySetContainsHandler implements RedundantCollectionOperationHandler {
     private final String myReplacementMethod;
 
-    private MapKeySetContainsHandler(String method) {
+    private MapKeySetContainsHandler(@NonNls String method) {
       myReplacementMethod = method;
     }
 
@@ -557,9 +558,9 @@ public class RedundantCollectionOperationInspection extends AbstractBaseJavaLoca
       }
     }
 
-    @NotNull
+
     @Override
-    public String getReplacement() {
+    public @NotNull @NlsSafe String getReplacement() {
       return "Arrays.sort()";
     }
 
@@ -596,9 +597,8 @@ public class RedundantCollectionOperationInspection extends AbstractBaseJavaLoca
       JavaCodeStyleManager.getInstance(project).shortenClassReferences(result);
     }
 
-    @NotNull
     @Override
-    public String getReplacement() {
+    public @NotNull @NlsSafe String getReplacement() {
       return "Collections.emptyIterator()";
     }
 
index c791d163b3b19b46fd7e5d2d3bbe61f043687d9c..e2aff51f589b9628cfbb01e66d7c8276cca5e75e 100644 (file)
@@ -20,10 +20,7 @@ import com.siyeh.ig.PsiReplacementUtil;
 import com.siyeh.ig.callMatcher.CallMapper;
 import com.siyeh.ig.callMatcher.CallMatcher;
 import com.siyeh.ig.psiutils.*;
-import org.jetbrains.annotations.Nls;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
-import org.jetbrains.annotations.PropertyKey;
+import org.jetbrains.annotations.*;
 
 import javax.swing.*;
 import java.util.Collections;
@@ -540,7 +537,7 @@ public class RedundantStringOperationInspection extends AbstractBaseJavaLocalIns
       @NotNull private final String myConverted;
 
       SubstringToCharAtQuickFix(@NotNull final String text,
-                                @NotNull final String converted) {
+                                @NotNull @NonNls final String converted) {
         myText = text;
         myConverted = converted;
       }
@@ -723,7 +720,7 @@ public class RedundantStringOperationInspection extends AbstractBaseJavaLocalIns
   private static class RemoveRedundantSubstringFix implements LocalQuickFix {
     private final @NotNull String myBindCallName;
 
-    RemoveRedundantSubstringFix(@NotNull String bindCallName) {
+    RemoveRedundantSubstringFix(@NotNull @NonNls String bindCallName) {
       myBindCallName = bindCallName;
     }
 
index 466e62d0fb2aeb278c9a23f93494b7db8a04a8bb..2eab5296f32b54ad3ad6519b52cbd183be19778c 100644 (file)
@@ -34,6 +34,7 @@ import com.siyeh.ig.BaseInspection;
 import com.siyeh.ig.BaseInspectionVisitor;
 import com.siyeh.ig.InspectionGadgetsFix;
 import org.jetbrains.annotations.Nls;
+import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -154,7 +155,7 @@ public class LambdaCanBeReplacedWithAnonymousInspection extends BaseInspection {
   }
 
   private static String getBodyText(PsiLambdaExpression lambdaExpression) {
-    String blockText;
+    @NonNls String blockText;
     final PsiElement body = lambdaExpression.getBody();
     if (body instanceof PsiExpression) {
       final PsiType returnType = LambdaUtil.getFunctionalInterfaceReturnType(lambdaExpression);