Пользовательская проверка FindBugs, чтобы обнаружить вызов метода и переменные в Scope - PullRequest
1 голос
/ 27 марта 2012

Я хочу написать собственный детектор FindBugs, который будет выполнять следующие действия:

  • Поиск вызовов определенных методов
  • Поиск объектов в Scope, реализующих определенный интерфейс

Использование этих двух моих пользовательских детекторов будет сообщать об ошибках при вызове неправильной версии метода.

Например:

У меня есть Logger.info (String) & Logger.info (String, Context) методы.Я хочу использовать вышеупомянутое, чтобы обнаружить вызовы в Logger.info (String), затем найти присутствие Объекта, реализующего интерфейс контекста в Scope (то есть Local Var, Class Var, Inherited Class Var или Параметр метода), и затем сообщить, чтокак ошибка, говоря, что вместо этого должен быть вызван 2-й метод.

Итак, похоже, я смогу выполнить первую часть, используя INVOKESPECIAL, поэтому не должен быть слишком сложным.Но кто-нибудь знает, что я пойдет о второй части?

Большое спасибо, Ро

...