Community
Participate
Working Groups
A role has a protected abstract method. Its non-abstract subrole (in a sub-team if that matters) uses callout inference to implement that abstract method. The compiled program throws IllegalAccessError because clients may invoke the method via the role interface (public) but find a protected method.
Created attachment 201867 [details] Test & fix Patch contains a test and the simple fix: In determining whether the generated role method needs modifier translation we wrongly excluded all inferred callouts. Fixed by a new query InferenceKind.isAdvertisedInInterface(). The patch also contains a correction for the test case from bug 355314 (make class names unique).
Patch has been released for 2.1 M1 should also be backported to 2.0.1.
Released for 2.0.1
Verified for 2.0.1 RC2 using build 2.0.1.201108250423