Procházet zdrojové kódy

fix for Bugzilla Bug 52928

 	Private members introduced via an interface are visible to the class
tags/Root_ajdt_support
acolyer před 20 roky
rodič
revize
5795b4afc6

binární
org.eclipse.jdt.core/jdtcore-for-aspectj-src.zip Zobrazit soubor


binární
org.eclipse.jdt.core/jdtcore-for-aspectj.jar Zobrazit soubor


+ 9
- 1
tests/ajcTests.xml Zobrazit soubor

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

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

Načítá se…
Zrušit
Uložit