You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CompleteJavaEnums changes some signatures (it adds extra constructor
parameters to classes extending java.lang.Enum), so it is not allowed to
run before Erasure (this is enforced by the check added in TreeChecker
in the previous commit).
Moving CompleteJavaEnums after Erasure required one change, prior to
this commit, constructor parameter were added to enum cases in two
different places:
- `def $new(...) = { new E { ... } }` was handled by transformDefDef
- `val Foo = new E { ... }` was handled by transformTemplate
It turns out that we can just let transformTemplate handle both cases,
this simplifies the code and means that the Mixin phase can run after
CompleteJavaEnums in the same group and see the transformed
constructors.
0 commit comments