Русский English Все статьи
View Sergey Zolotaryov's profile on LinkedIn
Вход
Поддержка аннотаций в генераторах классов
Постоянная ссылка 18-08-2009 anydoby

Вчера нужно было сгенерить классов, да не простых, а с аннтоациями на параметрах методов. И что бы вы думали, оказалось очень непросто.

Попробовал Javassist, чтобы не морочиться с байткодом. Так вот он поддерживает только аннотации на уровне декларации классов, методов. А вот про параметры забыли. Написал чуваку, который этот Javassist пишет - Shigeru Chiba (ипонец :)), он открестился - типа Java 5 компилер еще не поддерживается. Да как же, говорю, не поддерживается - у тебя ж аннотации уже есть. На это он по-восточному замолчал.

Потом посмотрел CGLIB. Вообще странная либа - ни доков нигде нету, ни функциональности особо. Интерфейс можно создать без названия. Методы просто добавляются в него с классами параметров и все - никаких аннотаций.

Попробовал SERP, вроде тоже несложно должно быть, судя по документации. Дык нет - классы создаются еще ничего, а вот когда навешиваешь аннотации, начинает сыпать:


java.lang.ClassFormatError: Illegal class modifiers in class ....

В общем потыкаюсь еще немного и вернусь к старому доброму ASMу.

Добавить комментарий

alexander.abakumov
21-08-2009

Не промолчал он - сделал seppuku ;)

Предыдущая статья: Сортировщик файлов для плейлистов