Replace reflective operations with Byte Buddy transformations
sbabcoc
released this
26 Mar 23:09
·
33 commits
to master
since this release
In this release, I eliminated reflective access to private fields that were throwing access violation warnings. These were definite compatibility problems for newer JVM releases.
In addition to making JUnit Foundation compatible with Java 17+, this release also fixes some fundamental errors with the annotation proxies produced for timeout management and automatic retry related to final
fields and annotation type reporting.
Finally, I extracted the class transformation code from LifecycleHooks
into a new JUnitAgent
class, eliminating the type restrictions the presence of this code imposed on this core interface. In a future release, I may use this new factoring to improve the type safety of this core utility class.