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