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