- Renamed the
Instrumentation
interface toImplementation
to avoid naming conflicts with Java types. - Renamed the
Field
annotation toFieldProxy
to avoid naming conflicts with Java types. - Refactored package structure to make the implementation more readable.
- Added possibility to define annotation default values.
- Avoid creation of an auxiliary placeholder type for method rebasements if it is not required.
- Avoid rebasing of methods if they are not instrumented.
- Reimplemented
TypeWriter
,MethodRegistry
and other supporting infrastructure to make the code simpler. - Refactored testing that is related to the previous infrastructure.