--- /dev/null
+import java.util.List;
+
+public aspect TestAspect {
+ private pointcut inTest(): within(TestComp);
+
+ private pointcut inAdd(BaseModel m): inTest() &&
+ execution(public BaseModel+ BaseComp+.add*(BaseModel+)) &&
+ args(m);
+
+ private pointcut inGetSearchByObj(BaseModel m): inTest() &&
+ (execution(public * BaseComp+.get*(BaseModel+)) ||
+ execution(public * BaseComp+.search*(BaseModel+))) &&
+ args(m);
+
+ private pointcut inGrate():
+ (execution(public * BaseComp+.get*(BaseModel+)) ||
+ execution(public * BaseComp+.search*(BaseModel+)));
+
+ private pointcut inUpdate(BaseModel m): inTest() &&
+ execution(public * BaseComp+.*(BaseModel+)) &&
+ args(m) && !inAdd(BaseModel) && !inGrate();
+
+ before(BaseModel m): inUpdate(m) { }
+}
+
+
+abstract class BaseComp { }
+abstract class BaseModel {}
+class TestComp {}
+
+
// public void testCFlowXMLAspectLTW_pr149096() { runTest("cflow xml concrete aspect"); }
// public void testAmbiguousBinding_pr121805() { runTest("ambiguous binding");}
// public void testNegatedAnnotationMatchingProblem_pr153464() { runTest("negated annotation matching problem");}
+// public void testAnnotationStyleBcException_pr162135() { runTest("bcexception in annotation style around advice");}
+// public void testAnnotationStyleBcException_pr162135_2() { runTest("bcexception in annotation style around advice - 2");}
+// public void testAnnotationStyleBcException_pr162135_3() { runTest("bcexception in annotation style around advice - 3");}
+// public void testAnnotationStyleBcException_pr162135_4() { runTest("bcexception in annotation style around advice - 4");}
+// public void testAnnotationStyleBcException_pr162135_5() { runTest("bcexception in annotation style around advice - 5");}
+ public void testComplexPointcut_pr162657() { runTest("complex pointcut");}
public void testGenericsInPointcuts_pr161502() { runTest("generics in pointcuts");}
public void testGenericsInPointcuts_pr161502_2() { runTest("generics in pointcuts - 2");}
public void testNoNPEDueToMissingType_pr149908() { runTest("ensure no npe due to missing type");}
<message kind="warning" text="can not resolve this member: append [Xlint:unresolvableMember]"/>
</compile>
</ajc-test>
+
+ <ajc-test dir="bugs153/pr162135" title="bcexception in annotation style around advice">
+ <compile files="Foo.java" options="-1.5"/>
+ <run class="Foo"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs153/pr162657" title="complex pointcut">
+ <compile files="TestAspect.aj"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs153/pr162135" title="bcexception in annotation style around advice - 2">
+ <compile files="Foo2.java" options="-1.5"/>
+ <run class="Foo2"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs153/pr162135" title="bcexception in annotation style around advice - 3">
+ <compile files="Foo3.java" options="-1.5"/>
+ <run class="Foo3"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs153/pr162135" title="bcexception in annotation style around advice - 4">
+ <compile files="Foo4.java" options="-1.5"/>
+ <run class="Foo4"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs153/pr162135" title="bcexception in annotation style around advice - 5">
+ <compile files="Foo5.java" options="-1.5"/>
+ <run class="Foo5"/>
+ </ajc-test>
<ajc-test dir="bugs153/pr159143" title="declare method annotations">
<compile files="DeclareMethodAnnotation.java" options="-1.5">