мне нужен для генерации новых классов (посредством генерации байтового java-кода) из существующих классов. Я проанализирую тело (выражения) методов класса. Выражения будут определять, какой код я буду генерировать. У меня есть файл BaseClass.java . Компилятор создает из этого BaseClass.class . Я хотел бы проанализировать этот файл класса и сгенерировать байтовые коды для GeneratedClass.class . Когда в c генерируется исключение, трассировка стека должна содержать «BaseClass.java line 3».
BaseClass.java
1: class BaseClass {
2: void method() {
3: call();
4: }
5:}
GeneratesClaas.class
a: class GeneratedClass {
b: void generatedMethod() {
c: generatedCall();
d: }
e:}
Мой вопрос: есть ли библиотеки, поддерживающие это требование? Javassist, ASM или BCEL? Что использовать для этого? Подсказки, как это сделать, или пример кода были бы особенно полезны.
Изменить: Также были бы полезны подсказки, какую библиотеку НЕ использовать, потому что требование НЕ может быть заполнено полностью :).