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
// mod 1@Mixin(Foo.class)
publicinterfaceFooAccessor {
@AccessorBargetBar(); // public
}
// mod 2@Mixin(Foo.class)
publicabstractclassFooMixin {
@AccessorabstractBargetBar(); // package-privatevoiddoSomething() {
Barbar = getBar();
// ...
}
}
it could happen that after accessor merging, the package-private version of the accessor is the one that is created, rather than the public one. This means that when mod 1 tries to use the accessor from a different class, it can generate an IllegalAccessError. Mixin should use the least restrictive visibility level of all accessors when merging them to avoid this issue (or just always make them public).