Как получить все возможные вызовы метода в Java - как иерархия вызовов

Скажем, у меня есть метод m в классе. Я пытаюсь найти все методы, которые вызывают m во всем проекте. Подобно инструменту иерархии вызовов eclipse, за исключением того, что он мне нужен для вывода списка / массива методов. Мне это нужно статически, поэтому я не думаю, что трассировка стека работает. Есть ли способ реализовать это, может быть, с помощью отражения?

Я прикрепил ссылку на пример инструмента иерархии вызовов Eclipse, обнаружив все методы, которые упоминают метод barking() из класса Dog. (Dog.hungry() и Cat.scratching() вызывают лай ()).

http://imgur.com/DzkIzCl

1 ответ

"Стандартное" java-отражение, вероятно, не поможет в этом.

Я бы попробовал использовать библиотеку Reflection с открытым исходным кодом.

Вы можете искать метод с помощью:

Set<Member> usages = reflections.getMethodUsages(Method.class)
Другие вопросы по тегам