From 8cab27018dc4dc96ad5eba90df86dfe232ecb967 Mon Sep 17 00:00:00 2001 From: aclement Date: Tue, 20 Jun 2006 07:18:02 +0000 Subject: [PATCH] testcode for 147701: @DeclareParents --- tests/bugs152/pr147701/TestBean.java | 26 ++++++++++++++++++++++++++ tests/bugs152/pr147701/TestBean2.java | 24 ++++++++++++++++++++++++ tests/bugs152/pr147701/TestBean3.java | 26 ++++++++++++++++++++++++++ 3 files changed, 76 insertions(+) create mode 100644 tests/bugs152/pr147701/TestBean.java create mode 100644 tests/bugs152/pr147701/TestBean2.java create mode 100644 tests/bugs152/pr147701/TestBean3.java 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 {} -- 2.39.5