Привет, я хотел начать играть со статическим анализом исходного кода Java. Для начала кажется, что проще всего разобрать мое исходное дерево, однако предположим, что для этого есть API. В частности, было бы неплохо иметь API, который разрешал бы такой код:
for (MetaClass m : mySourcePackage.getClasses())
{
System.out.println(m.getMethods().size());
...
}
Конечно, для любого данного класса вы можете сделать это с помощью рефлексии - но меня больше интересует статический анализ всего пакета исходного кода с нуля - и итерация классов по одному (например, для оценки вещей) как тестовое покрытие, максимальное количество строк и т.д ....).
Существуют ли какие-либо высококачественные платформы с открытым исходным кодом для проведения такого метаанализа (или, возможно, возможно ли запустить JVM с определенным путем к классу и выполнить такой анализ внутри JVM)?
Пожалуйста, имейте в виду, что я НЕ особенно беспокоюсь о таких проблемах, как DI и рефлексия (по крайней мере, не сейчас).