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