Add alternative generator:
@TailorMixin allows for different code style to define ThemeExtension classes, it requires a bit more boilerplate code than @Tailor and doesn't allow to instantly define themes but there are some benefits:
More control over defined ThemeExtension class, adding methods, static properties etc
Easier refactoring, any code you write that depends on these classes will get refactored properly
More familiar syntax to vanilla classes
All of the code is used and not discarded, for some cases in @Tailor annotated class would be left unused and it requires adding ignore lint flags (for unused elements etc)
Source changes:
Add utilities to treat 2 generators separately,
Add new templates for @TailorMixin generation, some of the code can be reused in the future (especially for hash code and equality) but there are quite important differences how 2 generators operate and generate code therefore I didn't cover it in this PR
Changes:
@TailorMixin
allows for different code style to define ThemeExtension classes, it requires a bit more boilerplate code than@Tailor
and doesn't allow to instantly define themes but there are some benefits:Source changes: