Private members introduced via an interface are visible to the classtags/Root_ajdt_support
@@ -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> |
@@ -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; | |||
} |