diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ajcTests.xml | 10 | ||||
-rw-r--r-- | tests/bugs/VisiblePrivateInterfaceITDs.java | 24 |
2 files changed, 33 insertions, 1 deletions
diff --git a/tests/ajcTests.xml b/tests/ajcTests.xml index f0da796c3..33c0c645a 100644 --- a/tests/ajcTests.xml +++ b/tests/ajcTests.xml @@ -7502,5 +7502,13 @@ </inc-compile> </ajc-test> - + <ajc-test dir="bugs" + title="Private members introduced via an interface are visible to the class" + pr="52928"> + <compile + files="VisiblePrivateInterfaceITDs.java" > + <message kind="error" line="13"/> + </compile> + </ajc-test> + </suite> diff --git a/tests/bugs/VisiblePrivateInterfaceITDs.java b/tests/bugs/VisiblePrivateInterfaceITDs.java new file mode 100644 index 000000000..ce3ed7073 --- /dev/null +++ b/tests/bugs/VisiblePrivateInterfaceITDs.java @@ -0,0 +1,24 @@ +// PR 52928 + +public class VisiblePrivateInterfaceITDs { + + public static void main(String[] args) { + VisiblePrivateInterfaceITDs s = new VisiblePrivateInterfaceITDs(); + s.aMethod(); + } + + public void aMethod() { + // x is introduced by the following aspect as private + // so it should not be accessible here + System.out.println("I have " + x); // CE 13 + } + +} + +aspect SampleAspect { + private interface Tag {}; + + private int Tag.x = 0; + + declare parents: VisiblePrivateInterfaceITDs implements Tag; +}
\ No newline at end of file |