COMPUTE_FRAMES flag stops ClassFileTransformer from seeing more classes during instrumentation with a ternary operator
COMPUTE_FRAMES flag stops ClassFileTransformer from seeing more classes during instrumentation with a ternary operator.
Here is an example AbstractVehicle av = isTrue() ? new LandVehicle() : SeaVehicle();
to trigger the issue. None of classfiles of AbstractVehicle, LandVehicle or SeaVehicle is visible to ClassFileTransformer when COMPUTE_FRAMES is used to construct a ClassWriter.
Please extractcompute-frames-bug.zip and run ./run.sh
for a quick replication.