Какая библиотека байт-кода при управлении номерами строк?

мне нужен для генерации новых классов (посредством генерации байтового 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? Что использовать для этого? Подсказки, как это сделать, или пример кода были бы особенно полезны.

Изменить: Также были бы полезны подсказки, какую библиотеку НЕ использовать, потому что требование НЕ может быть заполнено полностью :).

11
задан Arne Deutsch 18 February 2011 в 13:31
поделиться