Pārlūkot izejas kodu

fix for Bugzilla Bug 52928

 	Private members introduced via an interface are visible to the class
tags/Root_ajdt_support
acolyer pirms 20 gadiem
vecāks
revīzija
5795b4afc6

Binārs
org.eclipse.jdt.core/jdtcore-for-aspectj-src.zip Parādīt failu


Binārs
org.eclipse.jdt.core/jdtcore-for-aspectj.jar Parādīt failu


+ 9
- 1
tests/ajcTests.xml Parādīt failu

@@ -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>

+ 24
- 0
tests/bugs/VisiblePrivateInterfaceITDs.java Parādīt failu

@@ -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;
}

Notiek ielāde…
Atcelt
Saglabāt