Я хотел бы визуализировать цепочки методов нашей кодовой базы (какой метод вызывает какой метод), начиная с данного метода с помощью jqassistant.
Для обычных вызовов методов работает следующий запрос Cypher.workupNotification
- это метод, с которого я начинаю:
MATCH (begin:Method {name: "workupNotification"}) -[INVOKES*1..20]-> (method:Method) WHERE not method:Constructor and exists(method.name) RETURN begin, method, type
Но многие вызовы методов в нашем программном обеспечении - это вызовы интерфейсов, реализация которых в методе неизвестна (SOA с инверсией зависимости).
serviceRegistry.getService(MyServiceInterface.class).serviceMethod();
Как выбрать реализацию этого метода (Есть два класса, реализующих каждый интерфейс. Один генерируется автоматически (Proxy), другой интересует меня.)