我想从带有 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();
如何选择这个方法的实现(每个接口有两个类实现,一个是自动生成的(代理),另一个是我感兴趣的。)