--- /dev/null
+package com.test;
+
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.*;
+import org.aspectj.lang.annotation.Pointcut;
+
+public aspect Arguments {
+
+// @Pointcut("execution(@Test * *(..)) && @annotation(test) && @within( test1) && this(test2)")
+ // public void unit(Test2 test2, Test1 test1, Test test) {
+ // }
+
+ @Around("execution(@Test * *(..)) && @annotation(test) && @within( test1 ) && this(test2)")
+ public void test( ProceedingJoinPoint pjp,
+ Test test2,
+ Test1 test1,
+ Test test){
+
+ }
+}
+
--- /dev/null
+package com.test;
+
+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 Test {
+
+}
--- /dev/null
+package com.test;
+
+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 Test1 {
+
+}
--- /dev/null
+package com.test;
+
+@Test1
+public class Test2 {
+
+ @Test
+ public void m() { }
+}
public class Ajc169Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
+ public void testValidateBranchRecursion_314840() {
+ runTest("validate branch recursion");
+ }
+
+ public void testClashingDeclareAnnos_313026_1() {
+ runTest("clashing declare annos");
+ }
+
public void testClassFileSize_312839_1() {
runTest("class file size - 1");
// 2531 (0x404): 1.6.9.M2 size of Class.class
// Aspect size (X.class) down from 6459 to 4722
// 4551: changed exact type pattern writing to use constant pool, and
// changed typepatternlist to not both writing/reading location
-
+
// TODO actually test something :)
}
<suite>
+ <ajc-test dir="bugs169/pr314840" title="validate branch recursion">
+ <compile files="Arguments.aj Test1.java Test2.java Test.java" options="-1.5"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs169/pr313026/one" title="clashing declare annos">
+ <compile files="Target.java Asp.java Bsp.java Wibble.java Precedence1.java" options="-1.5 -Xlint:ignore"/>
+ <run class="Target">
+ <stdout>
+ <line text="@Wibble(value=abc)"/>
+ </stdout>
+ </run>
+ </ajc-test>
+
<ajc-test dir="bugs169/pr312839/one" title="class file size - 1">
<compile files="Class.java X.aj" options="-1.5"/>
<run class="com.wibble.foo.Class">