Я делал это в прошлом, создав новый экземпляр CompilerCommand для анализа аргументов командной строки и, что более важно, расширив класс Global .
Переопределив метод computeInternalPhases
, вы можете использовать только некоторые фазы компилятора (например, до refchecks
, чтобы использовать его только в качестве анализатора / проверки типов), и вы можете добавлять свои собственные фазы (плагины) каквы ожидаете.Конечно, вы можете пройти весь путь до генерации файлов классов.
Так что да, это определенно возможно.В конце концов, сам компилятор также работает на JVM.