В моем Java-проекте я хотел бы узнать программно, какие классы из данного API используются. Есть ли хороший способ сделать это? Может быть, через синтаксический анализ исходного кода или байт-код? Боюсь, что Reflection не будет полезен.
Чтобы упростить задачу: нет никаких подстановочных импортов (import com.mycompany.api.*;
) в любом месте моего проекта, нет полных определений полей или переменных (private com.mycompany.api.MyThingy thingy;
), а также Class.forName(...)
. Учитывая эти ограничения, я думаю, это сводится к анализу операторов импорта. Есть ли предпочтительный подход для этого?