summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/bugs1811/509235/parameterizedWithInner/Code.java20
-rw-r--r--tests/src/org/aspectj/systemtest/ajc1811/Ajc1811Tests.java66
2 files changed, 53 insertions, 33 deletions
diff --git a/tests/bugs1811/509235/parameterizedWithInner/Code.java b/tests/bugs1811/509235/parameterizedWithInner/Code.java
new file mode 100644
index 000000000..182a01d88
--- /dev/null
+++ b/tests/bugs1811/509235/parameterizedWithInner/Code.java
@@ -0,0 +1,20 @@
+public class Code {
+ public static void main(String []argv) {
+ }
+}
+
+class Outer<T> {
+ class Inner {
+ T t;
+ Inner(T t) {
+ this.t =t ;
+ }
+ }
+
+ public Inner m() {return null;}
+ public Outer<String>.Inner m2() {
+ Outer<String> os = new Outer<String>();
+ return os.new Inner("foo");
+ }
+ public Outer<?>.Inner m3() {return null;}
+}
diff --git a/tests/src/org/aspectj/systemtest/ajc1811/Ajc1811Tests.java b/tests/src/org/aspectj/systemtest/ajc1811/Ajc1811Tests.java
index 0c6663692..f354bd9e4 100644
--- a/tests/src/org/aspectj/systemtest/ajc1811/Ajc1811Tests.java
+++ b/tests/src/org/aspectj/systemtest/ajc1811/Ajc1811Tests.java
@@ -29,40 +29,40 @@ import junit.framework.Test;
*/
public class Ajc1811Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
-// public void testParameterizedWithInner() throws Exception {
-// runTest("parameterized with inner");
-// JavaClass jc = getClassFrom(ajc.getSandboxDirectory(), "Outer");
-// assertNotNull(jc);
-// BcelWorld world = new BcelWorld(ajc.getSandboxDirectory().toString());
-//
-// ResolvedType outerType = world.resolve(UnresolvedType.forName("Outer"));
-// ResolvedMember m = findMethod(outerType,"m");
-//
-// UnresolvedType type = m.getReturnType();
-// assertEquals("LOuter$Inner;",type.getSignature());
-//
-// type = m.getGenericReturnType();
-// assertEquals("LOuter$Inner;",type.getSignature());
-//
-// ResolvedType resolvedType = world.resolve(type);
-// ResolvedType outerResolvedType = resolvedType.getOuterClass();
-// assertEquals("LOuter;",outerResolvedType.getSignature());
-//
-// ResolvedMember m2 = findMethod(outerType,"m2");
-// type = m2.getReturnType();
-// assertEquals("LOuter$Inner;",type.getSignature());
-//
-// type = m2.getGenericReturnType();
-// assertEquals("LOuter$Inner;",type.getSignature());
-//
-// // public Inner m() { ... }
-// Method m = findMethod(jc,"m");
-// System.out.println(m);
-// System.out.println(">"+m.getReturnType());
+ public void testParameterizedWithInner() throws Exception {
+ runTest("parameterized with inner");
+ JavaClass jc = getClassFrom(ajc.getSandboxDirectory(), "Outer");
+ assertNotNull(jc);
+ BcelWorld world = new BcelWorld(ajc.getSandboxDirectory().toString());
+
+ ResolvedType outerType = world.resolve(UnresolvedType.forName("Outer"));
+ ResolvedMember m = findMethod(outerType,"m");
+
+ UnresolvedType type = m.getReturnType();
+ assertEquals("LOuter$Inner;",type.getSignature());
+
+ type = m.getGenericReturnType();
+ assertEquals("LOuter$Inner;",type.getSignature());
+
+ ResolvedType resolvedType = world.resolve(type);
+ ResolvedType outerResolvedType = resolvedType.getOuterClass();
+ assertEquals("LOuter;",outerResolvedType.getSignature());
+
+ ResolvedMember m2 = findMethod(outerType,"m2");
+ type = m2.getReturnType();
+ assertEquals("LOuter$Inner;",type.getSignature());
+
+ type = m2.getGenericReturnType();
+ assertEquals("LOuter$Inner;",type.getSignature());
+
+ // public Inner m() { ... }
+ Method m3 = findMethod(jc,"m");
+ System.out.println(m3);
+ System.out.println(">"+m3.getReturnType());
// assertNotNull(returnType);
-//
-// // public Outer<String>.Inner m2() { ... }
-// }
+
+ // public Outer<String>.Inner m2() { ... }
+ }
//
// public void testMultiArgs_509235() {
// runTest("multiargs");