From d3156f737f3bb24e3ad695205da5977bef519275 Mon Sep 17 00:00:00 2001 From: jhugunin Date: Tue, 24 Dec 2002 00:34:05 +0000 Subject: [PATCH] added coverage for exceptions thrown from intro methods these tests were inspired by failures compiling observer example --- tests/ajcTests.xml | 41 ++++++++++------------------ tests/design/intro/ExceptionsCF.java | 24 ++++++++++++++++ tests/design/intro/ExceptionsCP.java | 25 +++++++++++++++++ tests/new/runtime/AllRuntime.java | 2 +- 4 files changed, 64 insertions(+), 28 deletions(-) create mode 100644 tests/design/intro/ExceptionsCF.java create mode 100644 tests/design/intro/ExceptionsCP.java diff --git a/tests/ajcTests.xml b/tests/ajcTests.xml index 70fe32041..a4ec74a67 100644 --- a/tests/ajcTests.xml +++ b/tests/ajcTests.xml @@ -2458,33 +2458,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2533,6 +2506,20 @@ + + + + + + + + + + + + diff --git a/tests/design/intro/ExceptionsCF.java b/tests/design/intro/ExceptionsCF.java new file mode 100644 index 000000000..4bf8dc661 --- /dev/null +++ b/tests/design/intro/ExceptionsCF.java @@ -0,0 +1,24 @@ +import org.aspectj.testing.Tester; + +import java.io.IOException; + +public class ExceptionsCF { + public static void main(String[] args) { + C c = new C(); + c.foo(); // ERR: can't throw IOException here + } +} +class Root { + public void bar() {} +} + +class C extends Root { + +} + + +aspect A { + public void C.foo() throws IOException { } + + public void C.bar() throws IOException {} // ERR: can't throw more than super +} diff --git a/tests/design/intro/ExceptionsCP.java b/tests/design/intro/ExceptionsCP.java new file mode 100644 index 000000000..92d0b9b27 --- /dev/null +++ b/tests/design/intro/ExceptionsCP.java @@ -0,0 +1,25 @@ +import org.aspectj.testing.Tester; + +import java.io.IOException; + +public class ExceptionsCP { + public static void main(String[] args) { + C c = new C(); + try { + c.foo(); + } catch (IOException io) {} + c.bar(); + } +} +class Root { + public void bar() {} +} + +class C extends Root { + +} + + +aspect A { + public void C.foo() throws IOException { } +} diff --git a/tests/new/runtime/AllRuntime.java b/tests/new/runtime/AllRuntime.java index cc7face15..47356aa1f 100644 --- a/tests/new/runtime/AllRuntime.java +++ b/tests/new/runtime/AllRuntime.java @@ -214,7 +214,7 @@ aspect A { /** unused - enable to throw exception from run() */ public boolean TargetClass.throwException; - public void TargetClass.run() throws Exception { + public void TargetClass.run() { if (throwException) throwsException(); } -- 2.39.5