Я новичок в Javassist, и я уже прочитал некоторые учебные пособия, связанные с ним.
Поскольку мне нужно сделать несколько инъекций байт-кода в каждый метод enter или перед выходом метода, и получить некоторую статистикуотсюда.
В интерактивном руководстве по javassit я обнаружил, что мы можем создать новое поле для существующего класса:
CtClass point = ClassPool.getDefault().get("Point");
CtField f = new CtField(CtClass.intType, "z", point);
point.addField(f);
Но тип CtField по умолчанию содержит только примитивный типМожем ли мы добавить новое поле, тип которого не является примитивным, например, ArrayList?
Если я смогу добавить новое поле ArrayList в существующий класс, так как класс не импортирует java.util.ArrayList, это вызовет ошибку компиляции?