* split out inner classes into separate files
* and since they're public API I made them a little bit better: added javadocs, renamed classes/methods
Getting the `...extension.muzzle` package stable is the first step to extracting the muzzle compile time plugin - the plugin may have a bit different release lifecycle than the main project and getting those classes stable will help a lot with eliminating breaking changes.
* Refactor TypeInstrumentation#transformers() method part 1
Add TypeInstrumentation and its implementations
* Refactor TypeInstrumentation#transformers() method part 2
Use the new method in all existing TypeInstrumentation implementations
* Drift
* Spotless
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* Muzzle code generation cleanup
- remove hardcoded class names from MuzzleCodeGenerator (easier renaming in the future)
- store field/method descriptors in references instead of types/lists of types
- remove unnecessary primitive type comparison in ReferenceMatcher (comparing descriptors is enough)
- improve printMuzzleReferences output