--- /dev/null
+aspect MyAspect implements MyInterface<MyClass> {
+ before() : MyAspect1<MyClass>.myPointcutInInterface(){ }
+}
+
+class MyClass {}
+
+interface MyInterface<T>{
+ public abstract static aspect MyAspect1<T> {
+ public final pointcut myPointcutInInterface() : call(T *(..));
+ }
+}
+
+public class Bug2 {
+ public static void main(MyClass[]argv) {
+ new Bug2().callit();
+ }
+
+ public MyClass callit() {
+ return null;
+ }
+}
+
+aspect MyAspect2 implements MyInterface<String> {
+ before(): MyAspect1<String>.myPointcutInInterface() {} // shouldn't match... since the return type of callit is MyClass
+}
\ No newline at end of file
// public void testArgnamesAndJavac_pr148381() { runTest("argNames and javac");}
// public void testCFlowXMLAspectLTW_pr149096() { runTest("cflow xml concrete aspect"); }
// public void testAmbiguousBinding_pr121805() { runTest("ambiguous binding");}
-// public void testNoIllegalStateExceptionWithGenericInnerAspect_pr156058() { runTest("no IllegalStateException with generic inner aspect"); }
// public void testNegatedAnnotationMatchingProblem_pr153464() { runTest("negated annotation matching problem");}
+ public void testNoIllegalStateExceptionWithGenericInnerAspect_pr156058() { runTest("no IllegalStateException with generic inner aspect"); }
+ public void testNoIllegalStateExceptionWithGenericInnerAspect_pr156058_2() { runTest("no IllegalStateException with generic inner aspect - 2"); }
public void testDeclareMethodAnnotations_pr159143() { runTest("declare method annotations");}
public void testVisibilityProblem_pr149071() { runTest("visibility problem");}
public void testMissingLineNumbersInStacktraceAfter_pr145442() { runTest("missing line numbers in stacktrace after");}
</compile>
</ajc-test>
+ <ajc-test dir="bugs153/pr156058" title="no IllegalStateException with generic inner aspect - 2">
+ <compile files="Bug2.java" options="-1.5 -showWeaveInfo">
+ <message kind="weave" text="Join point 'method-call(MyClass Bug2.callit())' in Type 'Bug2' (Bug2.java:15) advised by before advice from 'MyAspect' (Bug2.java:2)"/>
+ <message kind="warning" line="24" text="advice defined in MyAspect2 has not been applied [Xlint:adviceDidNotMatch]"/>
+ </compile>
+ </ajc-test>
+
<ajc-test dir="bugs153/pr153490" title="no illegal state exception from AsmDelegate - 1">
<compile files="Foo.java" options="-1.5" classpath="jarForFoo.jar" />
</ajc-test>