--- /dev/null
+public aspect AspectX
+{
+ public A AspectXMarker<A,B>.doSomething(B b) { return null; }
+}
--- /dev/null
+public interface AspectXMarker <A, B extends BInterface<?> > extends
+FooInterface<A, B>
+{ }
--- /dev/null
+public interface BInterface<S> { }
+
--- /dev/null
+public class Foo<B extends BInterface<?>> implements AspectXMarker<Integer, B>
+{}
+
--- /dev/null
+public interface FooInterface<A,B>
+{
+ public A doSomething(B transition);
+}
+
--- /dev/null
+public class Test
+{
+ public static void main(String[] args)
+ {
+ Foo<BInterface<Integer>> foo = new Foo<BInterface<Integer>>();
+
+ foo.doSomething(null);
+ }
+}
public class Ajc161Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
// AspectJ1.6.1
+ public void testDuplicateMethodSignature_pr223226_2() { runTest("duplicate method signature - 2"); }
+ public void testDuplicateMethodSignature_pr223226() { runTest("duplicate method signature"); }
public void testProtectedMethodsAroundAdvice_pr197719_2() { runTest("protected methods and around advice - again - 2");}
public void testProtectedMethodsAroundAdvice_pr197719() { runTest("protected methods and around advice - again");}
public void testProtectedMethodsAroundAdvice_pr230075() { runTest("protected methods and around advice");}
<!-- AspectJ v1.6.1 Tests -->
<suite>
+ <ajc-test dir="bugs161/pr223226" title="duplicate method signature - 2">
+ <compile files="AspectX.java BInterface.java FooInterface.java AspectXMarker.java Foo.java Test.java" options="-1.5"/>
+ <run class="Test"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs161/pr223226" title="duplicate method signature">
+ <compile files="AspectX.java BInterface.java FooInterface.java AspectXMarker.java Foo.java Test.java" options="">
+ <message kind="error" line="1"/>
+ <message kind="error" line="2"/>
+ <message kind="error" line="3"/>
+ <message kind="error" line="5"/>
+ </compile>
+ </ajc-test>
+
<ajc-test dir="bugs161/pr197719" title="protected methods and around advice - again - 2">
<compile files="test/aspects/C1.java test/aspects/C3.java test/aspects/MyAnn.java test/aspects/MyAnnAspect.java test/aspects2/C2.java" options="-1.5 -showWeaveInfo">
<message kind="weave" text="Join point 'method-call(void test.aspects.C1.aMethod())' in Type 'test.aspects.C1' (C1.java:12) "/>