diff options
-rw-r--r-- | tests/bugs160/pr209831/Test.java | 40 | ||||
-rw-r--r-- | tests/bugs160/pr209831/Test2.java | 45 |
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) { + + } + } + +} + |