@@ -0,0 +1,13 @@ | |||
import java.lang.reflect.Type; | |||
public class Main { | |||
public static void main(String[]argv) throws Exception { | |||
Class c = Class.forName("a.b.Adapter$1"); | |||
Type[] ts = c.getGenericInterfaces(); | |||
for (int i = 0; i < ts.length; i++) { | |||
Type type = ts[i]; | |||
System.out.println(ts[i]); | |||
} | |||
} | |||
} |
@@ -0,0 +1,7 @@ | |||
package a; | |||
public interface Adapter<T> { | |||
interface Setter<V> {} | |||
public <V> Setter<V> makeSetter(); | |||
} |
@@ -0,0 +1,9 @@ | |||
package a.b; | |||
public class Adapter<T> implements a.Adapter<T> { | |||
public <V> Adapter.Setter<V> makeSetter() { | |||
return new Adapter.Setter<V>() {}; | |||
} | |||
} |
@@ -23,6 +23,7 @@ import org.aspectj.testing.XMLBasedAjcTestCase; | |||
public class Ajc161Tests extends org.aspectj.testing.XMLBasedAjcTestCase { | |||
// AspectJ1.6.1 | |||
public void testCrazyGenericsInnerTypes_pr235829() { runTest("crazy generics and inner types");} | |||
public void testAnnotationExposureGenerics_pr235597() { runTest("annotation exposure and generics");} | |||
public void testIncorrectRelationship_pr235204() { | |||
runTest("incorrect call relationship"); |
@@ -3,6 +3,12 @@ | |||
<!-- AspectJ v1.6.1 Tests --> | |||
<suite> | |||
<ajc-test dir="bugs161/pr235829" title="crazy generics and inner types"> | |||
<compile files="Main.java a/Adapter.java a/b/Adapter.java" options="-1.5"/> | |||
<run class="Main"/> | |||
</ajc-test> | |||
<ajc-test dir="bugs161/pr235597" title="annotation exposure and generics"> | |||
<compile files="AnnotationTest1.java SomeAnnotation.java SomeAspect.java" options="-1.5"/> | |||
<run class="AnnotationTest1"> |