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/TopmostImplements.java | |
parent | fafae443719b26159ab2d7dac1c9b46b5e00b671 (diff) | |
download | aspectj-144143c2970a1e874d74cdbd0f8c622d4282a3c3.tar.gz aspectj-144143c2970a1e874d74cdbd0f8c622d4282a3c3.zip |
initial version
Diffstat (limited to 'tests/new/TopmostImplements.java')
-rw-r--r-- | tests/new/TopmostImplements.java | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/new/TopmostImplements.java b/tests/new/TopmostImplements.java new file mode 100644 index 000000000..23c466d0e --- /dev/null +++ b/tests/new/TopmostImplements.java @@ -0,0 +1,49 @@ + +import org.aspectj.testing.Tester; +import java.lang.reflect.Method; + +// PR#126 + +public class TopmostImplements { + public static void main(String[] args) { test(); } + + public static void test() { + BC1 bc1 = new BC1(); + BC2 bc2 = new BC2(); + String m1 = ""; + String m2 = ""; + try { + m1 = bc1.getClass().getMethod("m1", null).toString(); + m2 = bc2.getClass().getMethod("m1", null).toString(); + } catch ( NoSuchMethodException nsme ) { + Tester.check(false, "method not found"); + } + Tester.checkEqual(m1, "public java.lang.String B.m1()", "from extends, implements"); + Tester.checkEqual(m2, "public java.lang.String B.m1()", "from extends"); + + Tester.checkEqual(bc1.m1(), "BC1", "from extends, implements"); + Tester.checkEqual(bc2.m1(), "BC2", "from extends"); + + } +} + +aspect Introducer { + public String A.m1() { return getName(); } +} + + +interface A { + String getName(); +} + +class B implements A { + public String getName() { return "B"; } +} + +class BC1 extends B implements A { + public String getName() { return "BC1"; } +} + +class BC2 extends B { + public String getName() { return "BC2"; } +} |