Private members introduced via an interface are visible to the classtags/Root_ajdt_support
</inc-compile> | </inc-compile> | ||||
</ajc-test> | </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> | </suite> |
// 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; | |||||
} |