From: aclement Date: Tue, 20 Jun 2006 07:18:02 +0000 (+0000) Subject: testcode for 147701: @DeclareParents X-Git-Tag: V1_5_2rc1~30 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=8cab27018dc4dc96ad5eba90df86dfe232ecb967;p=aspectj.git testcode for 147701: @DeclareParents --- diff --git a/tests/bugs152/pr147701/TestBean.java b/tests/bugs152/pr147701/TestBean.java new file mode 100644 index 000000000..e22f092e4 --- /dev/null +++ b/tests/bugs152/pr147701/TestBean.java @@ -0,0 +1,26 @@ +// simple version - we go bang if Impl doesnt implement I... + +package a.b.c; + +import org.aspectj.lang.annotation.*; + +interface I { public void m(); } + +class Impl implements I { + public Impl() {} + public void m() {} +} + +@Aspect +class TestBeanAdvice { + @DeclareParents(value="a.b.c.TestBean", defaultImpl=a.b.c.Impl.class) + private I implementationInterface; +} + +public class TestBean { + public static void main(String []argv) throws Exception { + ((I)new TestBean()).m(); + } +} + +class BeansException extends Exception {} diff --git a/tests/bugs152/pr147701/TestBean2.java b/tests/bugs152/pr147701/TestBean2.java new file mode 100644 index 000000000..229de4abf --- /dev/null +++ b/tests/bugs152/pr147701/TestBean2.java @@ -0,0 +1,24 @@ +package a.b.c; + +import org.aspectj.lang.annotation.*; + +interface I { public void m() throws BeansException; } + +class Impl implements I { + public Impl() {} + public void m() throws BeansException { } +} + +@Aspect +class TestBeanAdvice { + @DeclareParents(value="a.b.c.TestBean2", defaultImpl=a.b.c.Impl.class) + private I implementationInterface; +} + +public class TestBean2 { + public static void main(String []argv) throws Exception { + ((I)new TestBean2()).m(); + } +} + +class BeansException extends Exception {} diff --git a/tests/bugs152/pr147701/TestBean3.java b/tests/bugs152/pr147701/TestBean3.java new file mode 100644 index 000000000..ad5fe1d2b --- /dev/null +++ b/tests/bugs152/pr147701/TestBean3.java @@ -0,0 +1,26 @@ +// simple version - we go bang if Impl doesnt implement I... + +package a.b.c; + +import org.aspectj.lang.annotation.*; + +interface I { public void m(); } + +class Impl { // error!!! implements I { + public Impl() {} + public void m() {} +} + +@Aspect +class TestBeanAdvice { + @DeclareParents(value="a.b.c.TestBean3", defaultImpl=a.b.c.Impl.class) + private I implementationInterface; +} + +public class TestBean3 { + public static void main(String []argv) throws Exception { + ((I)new TestBean3()).m(); + } +} + +class BeansException extends Exception {}