Как я могу отключить SQUID: UnusedProtectedMethod в Sonar для класса или метода? - PullRequest
7 голосов
/ 28 марта 2012

У меня есть пара Hadoop map и сокращение классов, которые переопределяют защищенные методы.Сонар помечает их следующим образом:

Unused protected method
Plugin: squid    Key: UnusedProtectedMethod

Я знаю, что в Сонаре есть исправление, которое решает эту проблему и что в какой-то момент моя организация будет использовать версию с этим исправлением.А пока я бы хотел отключить предупреждение.Я пробовал:

@SuppressWarnings("UnusedProtectedMethod")

и

@SuppressWarnings("SQUID.UnusedProtectedMethod")

безрезультатно.

@ SuppressWarnings работает для проблем PMD, @ edu.umd.cs.findbugs.annotations.SuppressWarnings (value = "blah") работает для проблем с findbugs.Есть ли другой вариант для проблем с squid, или он просто еще не поддерживается?

Ответы [ 2 ]

4 голосов
/ 16 мая 2015

Используйте

@SuppressWarnings("squid:UnusedProtectedMethod")

См. Также FAQ по плагину Java для SonarQube - SuprressWarnings

Это было реализовано в плагине SonarQube Java версии 2.8.

3 голосов
/ 28 марта 2012

Я обнаружил, что Squid поддерживает только "все".Из источника плагина squid, в SuppressWarningsAnnotationUtils.java:

private static final String VALUE = "\"all\"";
...


  public static boolean isSuppressAllWarnings(DetailAST ast) {
    DetailAST suppressWarningsAnnotation = getSuppressWarningsAnnotation(ast);
    if (suppressWarningsAnnotation != null) {
      DetailAST warningHolder = findWarningsHolder(suppressWarningsAnnotation);
      for (DetailAST warning = warningHolder.findFirstToken(TokenTypes.EXPR); warning != null; warning = warning.getNextSibling()) {
        if (warning.getType() == TokenTypes.EXPR) {
          DetailAST fChild = warning.getFirstChild();
          if (fChild.getType() == TokenTypes.STRING_LITERAL) {
            String text = warning.getFirstChild().getText();
            if (VALUE.equals(text)) {
              return true;
            }
          }
        }
      }
    }
    return false;
  }

Здесь обсуждается: Поддержка аннотации "@SuppressWarnings" на уровне класса и метода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...