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/BindingInterfaces.java | |
parent | fafae443719b26159ab2d7dac1c9b46b5e00b671 (diff) | |
download | aspectj-144143c2970a1e874d74cdbd0f8c622d4282a3c3.tar.gz aspectj-144143c2970a1e874d74cdbd0f8c622d4282a3c3.zip |
initial version
Diffstat (limited to 'tests/new/BindingInterfaces.java')
-rw-r--r-- | tests/new/BindingInterfaces.java | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/new/BindingInterfaces.java b/tests/new/BindingInterfaces.java new file mode 100644 index 000000000..73d5e3517 --- /dev/null +++ b/tests/new/BindingInterfaces.java @@ -0,0 +1,40 @@ +import org.aspectj.testing.Tester; +import java.util.*; +public class BindingInterfaces { + public static void main(String[] args) { + new BindingInterfaces().realMain(args); + } + public void realMain(String[] args) { + + I i0 = new I(){}; Tester.checkEqual(str(i0), "I", "i0"); + I ij = new J(){}; Tester.checkEqual(str(ij), "JI", "ij"); + I ik = new K(){}; Tester.checkEqual(str(ik), "KJI", "ik"); + + J j0 = new J(){}; Tester.checkEqual(str(j0), "JI", "j0"); + J jk = new K(){}; Tester.checkEqual(str(jk), "KJI", "jk"); + + K k0 = new K(){}; Tester.checkEqual(str(k0), "KJI", "k0"); + } + + private String str(Object o) { + return str(o.getClass().getInterfaces()[0]); + } + + private String str(Class c) { + String str = c.getName(); + Class[] is = c.getInterfaces(); + for (int i = 0; i < is.length; i++) { + str += str(is[i]); + } + return str; + } +} + +interface I {} +interface J {} //extends I {} +interface K {} //extends J {} + +aspect Aspect { + declare parents: J implements I; + declare parents: K implements J; +} |