--- /dev/null
+package org.tests.atann;
+
+public aspect AddAnnotations {
+
+ declare @method : public int *do*(..) : @Traced;
+
+}
--- /dev/null
+package org.tests.atann;
+
+public aspect AddITDDoMethod {
+
+ public int TestClass.doAnother() {
+ return 2;
+ }
+
+}
--- /dev/null
+package org.tests.atann;
+
+public aspect InterceptTraceds {
+
+ before(Traced t) : execution(@Traced * *.*(..)) && @annotation(t) {
+ if (t != null) {
+ System.out.println("Executing " + thisJoinPoint + " on level " + t.level());
+ } else {
+ System.out.println("Annotation was null on " + thisJoinPoint);
+ }
+ }
+
+}
--- /dev/null
+package org.tests.atann;
+
+public class TestClass {
+
+ @Traced
+ public String doAnnotated() {
+ return "annotated";
+ }
+
+ public int doITDAnnotation() {
+ return 1;
+ }
+
+ public static void main(String[] args) {
+ TestClass tc = new TestClass();
+ tc.doAnnotated();
+ tc.doITDAnnotation();
+ tc.doAnother();
+ }
+
+}
--- /dev/null
+package org.tests.atann;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface Traced {
+
+ String level() default "debug";
+
+}
public class Ajc166Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
+ public void testMungerCCE_288635() {
+ runTest("munger cce");
+ }
+
+ // public void testNPEonBadAspectDecl_286375() {
+ // runTest("npe on bad aspect decl");
+ // }
+ //
+ // public void testAnnoModifierOrdering_287597_1() {
+ // runTest("anno modifier ordering - 1");
+ // }
+ //
+ // public void testDeclareAnnoCompoundExpression_287613() {
+ // runTest("dec anno compound expressions");
+ // }
+
public void testHasMember_284862() {
runTest("npe hasmember");
}
<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[]>
<suite>
+
+ <ajc-test dir="bugs166/pr288635" title="munger cce">
+ <compile files="org/tests/atann/AddAnnotations.aj org/tests/atann/AddITDDoMethod.aj org/tests/atann/InterceptTraceds.aj org/tests/atann/TestClass.java org/tests/atann/Traced.java" options="-1.5"/>
+ <run class="org.tests.atann.TestClass"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs166/pr286375" title="npe on bad aspect decl">
+ <compile files="DatabaseOperationMonitor.java" options="-1.5" outjar="wibble.jar"/>
+ <compile files="" inpath="wibble.jar" options="-1.5"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs166/pr287597" title="anno modifier ordering - 1">
+ <compile files="A.java" options="-1.5 -showWeaveInfo">
+ <message kind="weave" text="foo"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs166/pr287613" title="dec anno compound expressions">
+ <compile files="DeclareAnnot.java" options="-1.5"/>
+ </ajc-test>
+
<ajc-test dir="bugs166/pr284862" title="npe hasmember">
<compile files="InterfaceToAdd.java AnnotatedMethodImpl.aj AspectToMatch.aj AnnotatedMethodInterface.java Entity.java EntityClass.java PresentAnnotation.java SearchAnnotation.java" options="-1.5 -XhasMember"/>
</ajc-test>