diff options
author | wisberg <wisberg> | 2002-12-16 18:51:06 +0000 |
---|---|---|
committer | wisberg <wisberg> | 2002-12-16 18:51:06 +0000 |
commit | 144143c2970a1e874d74cdbd0f8c622d4282a3c3 (patch) | |
tree | b12383d3d9e76c7e1f25f7fbec83051ef17f81fb /tests/new/PrivateMethodOnInnerInterface.java | |
parent | fafae443719b26159ab2d7dac1c9b46b5e00b671 (diff) | |
download | aspectj-144143c2970a1e874d74cdbd0f8c622d4282a3c3.tar.gz aspectj-144143c2970a1e874d74cdbd0f8c622d4282a3c3.zip |
initial version
Diffstat (limited to 'tests/new/PrivateMethodOnInnerInterface.java')
-rw-r--r-- | tests/new/PrivateMethodOnInnerInterface.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/new/PrivateMethodOnInnerInterface.java b/tests/new/PrivateMethodOnInnerInterface.java new file mode 100644 index 000000000..f6e11d732 --- /dev/null +++ b/tests/new/PrivateMethodOnInnerInterface.java @@ -0,0 +1,36 @@ + +import org.aspectj.testing.Tester; + +/** @testcase PR#823 private abstract method declared on inner interface */ +public class PrivateMethodOnInnerInterface { + + public static void main(String[] args) { + new C(); + Tester.expectEvent("method"); + Tester.checkAllEvents(); + // XXX CF test that method is not visible here + } +} + +class C { } + +abstract aspect A { + // no bug unless not member of the same aspect + interface I {} + interface J extends I{} +} +aspect B extends A { + + declare parents : C implements J; + private abstract int I.privateMethod(); + + private int C.privateMethod() { + Tester.event("method"); + return 0; + } + after(I i) returning : target(i) && initialization(I.new()) { + i.privateMethod(); + } +} + + |