From 144143c2970a1e874d74cdbd0f8c622d4282a3c3 Mon Sep 17 00:00:00 2001 From: wisberg Date: Mon, 16 Dec 2002 18:51:06 +0000 Subject: initial version --- tests/new/BindingInterfaces.java | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 tests/new/BindingInterfaces.java (limited to 'tests/new/BindingInterfaces.java') 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; +} -- cgit v1.2.3