Выяснилось, что компилятор javassist не умеет ооочень многого. Например, он не может резолвить вызываемый метод, в случае, когда для этого требуется неявное приведение типов аргументов. Это говорит о том, что для создания полно-функциональный скриптов этот компилятор мало подходит. Но для интеграции в сторонние библиотеки, которым требуется такой функционал - манипуляция в runtime кодом, оптимизация рефлексии и прочие приятные мелочи, эта штука замечательно подходить. Javassist - маленький, простой, удобный программный интерфейс, - поэтому и ограниченный.
Следующий шаг, смотрим Eclipse JDT Core. Штука намного более навороченная и продвинутая. Очень много полезных вещей содержит для реализации скриптовых движков. Есть автокомплит, поиск, инкрементная компиляция и еще миллион приятных мелочей (Компилятор знает что такое фор-ыч, подробный резолвинг ошибок синтаксиса, АСТ-овое дерево имеет АПИ для реврайтинга кода - ура, товарищи).
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий