diff options
Diffstat (limited to 'tests/bugs163/pr255856/Bug.java')
-rw-r--r-- | tests/bugs163/pr255856/Bug.java | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/bugs163/pr255856/Bug.java b/tests/bugs163/pr255856/Bug.java new file mode 100644 index 000000000..65b8aeab5 --- /dev/null +++ b/tests/bugs163/pr255856/Bug.java @@ -0,0 +1,61 @@ +package example; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import junit.framework.TestCase; + +import org.aspectj.lang.Aspects; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; + +public class Bug extends TestCase { + + public void testAdviceMatch() { + TestImpl impl = new TestImpl(); + impl.method(); + + assertEquals(0, Aspects.aspectOf(TestAtAspect.class).count); +// assertEquals(0, TestAspect.aspectOf().count); + } + + + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.TYPE) + @Inherited + static @interface TestAnnotation { + } + + @TestAnnotation + static interface TestInterface { + void method(); + } + + static class TestImpl implements TestInterface { +// @Override + public void method() { + } + } + +// static aspect TestAspect { +// int count = 0; +// +// before() : @target(example.Bug.TestAnnotation)+ && execution(* *(..)) { +// count++; +// } +// } + + @Aspect + static class TestAtAspect { + int count = 0; + + @Before("@target(example.Bug.TestAnnotation)+ && execution(* *(..))") + public void increment() { + count++; + } + } +} + |