summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraclement <aclement>2008-02-21 03:16:45 +0000
committeraclement <aclement>2008-02-21 03:16:45 +0000
commit1c6172217be1cc8cf778d1e30e18a870602e7c46 (patch)
tree5770afd10170595e5055c5445959f1cfeca905d3
parentb4715bcd195773fb2321270e20458482c00b3854 (diff)
downloadaspectj-1c6172217be1cc8cf778d1e30e18a870602e7c46.tar.gz
aspectj-1c6172217be1cc8cf778d1e30e18a870602e7c46.zip
209831: testcode
-rw-r--r--tests/bugs160/pr209831/Test.java40
-rw-r--r--tests/bugs160/pr209831/Test2.java45
2 files changed, 85 insertions, 0 deletions
diff --git a/tests/bugs160/pr209831/Test.java b/tests/bugs160/pr209831/Test.java
new file mode 100644
index 000000000..f5d19a180
--- /dev/null
+++ b/tests/bugs160/pr209831/Test.java
@@ -0,0 +1,40 @@
+import java.lang.annotation.*;
+
+ aspect ExactAnnotationTypePatternBug {
+
+ before(Throwable e) : handler(Throwable+) && args(e) &&
+!args(@NoDefaultHandler Throwable+) {
+
+ }
+}
+
+
+@Retention(RetentionPolicy.CLASS)
+@Target(ElementType.PARAMETER)
+ @interface NoDefaultHandler {
+}
+
+public class Test {
+
+ /**
+ * @param args
+ */
+ public static void main(String[] args) {
+ // TODO Auto-generated method stub
+
+ }
+
+ private void th() throws Throwable {
+ throw new Throwable();
+ }
+
+ private void test() {
+ try {
+ th();
+ } catch (Throwable e) {
+
+ }
+ }
+
+}
+
diff --git a/tests/bugs160/pr209831/Test2.java b/tests/bugs160/pr209831/Test2.java
new file mode 100644
index 000000000..39b64a1b3
--- /dev/null
+++ b/tests/bugs160/pr209831/Test2.java
@@ -0,0 +1,45 @@
+import java.lang.annotation.*;
+
+ aspect ExactAnnotationTypePatternBug {
+
+ before(Throwable e) : handler(Throwable+) && args(e) &&
+!args(@NoDefaultHandler Throwable+) {
+
+ }
+}
+
+
+@Retention(RetentionPolicy.CLASS)
+//@Target(ElementType.PARAMETER)
+ @interface NoDefaultHandler {
+}
+
+@NoDefaultHandler
+class MyException extends Throwable {
+
+}
+
+public class Test2 {
+
+ /**
+ * @param args
+ */
+ public static void main(String[] args) {
+ // TODO Auto-generated method stub
+
+ }
+
+ private void th() throws MyException {
+ throw new MyException();
+ }
+
+ private void test() {
+ try {
+ th();
+ } catch (MyException e) {
+
+ }
+ }
+
+}
+