]> source.dussan.org Git - aspectj.git/commitdiff
generic itd bridge method test code.
authoraclement <aclement>
Wed, 24 Aug 2005 14:30:23 +0000 (14:30 +0000)
committeraclement <aclement>
Wed, 24 Aug 2005 14:30:23 +0000 (14:30 +0000)
tests/java5/generics/itds/bridgeMethods/Sub1.java [new file with mode: 0644]
tests/java5/generics/itds/bridgeMethods/Sub2.java [new file with mode: 0644]
tests/java5/generics/itds/bridgeMethods/Sub3.java [new file with mode: 0644]
tests/java5/generics/itds/bridgeMethods/Super1.java [new file with mode: 0644]
tests/java5/generics/itds/bridgeMethods/Super2.java [new file with mode: 0644]
tests/java5/generics/itds/bridgeMethods/Super3.java [new file with mode: 0644]
tests/java5/generics/itds/bridgeMethods/Util.java
tests/java5/generics/itds/bridgeMethods/X1.aj [new file with mode: 0644]
tests/java5/generics/itds/bridgeMethods/X2.aj [new file with mode: 0644]
tests/java5/generics/itds/bridgeMethods/X3.aj [new file with mode: 0644]
tests/java5/generics/itds/bridgeMethods/pr91381.aj [new file with mode: 0644]

diff --git a/tests/java5/generics/itds/bridgeMethods/Sub1.java b/tests/java5/generics/itds/bridgeMethods/Sub1.java
new file mode 100644 (file)
index 0000000..5cdc88c
--- /dev/null
@@ -0,0 +1,3 @@
+public class Sub1 extends Super1 {
+  public Integer m() {return new Integer(42);}
+}
diff --git a/tests/java5/generics/itds/bridgeMethods/Sub2.java b/tests/java5/generics/itds/bridgeMethods/Sub2.java
new file mode 100644 (file)
index 0000000..dffb52b
--- /dev/null
@@ -0,0 +1,2 @@
+public class Sub2 extends Super2 {
+}
diff --git a/tests/java5/generics/itds/bridgeMethods/Sub3.java b/tests/java5/generics/itds/bridgeMethods/Sub3.java
new file mode 100644 (file)
index 0000000..c6ebe8b
--- /dev/null
@@ -0,0 +1,3 @@
+public class Sub3 extends Super3 {
+  public Integer m() {return new Integer(42);}
+}
diff --git a/tests/java5/generics/itds/bridgeMethods/Super1.java b/tests/java5/generics/itds/bridgeMethods/Super1.java
new file mode 100644 (file)
index 0000000..390ac1a
--- /dev/null
@@ -0,0 +1,3 @@
+public class Super1 {
+  public Object m() { return null;}
+}
diff --git a/tests/java5/generics/itds/bridgeMethods/Super2.java b/tests/java5/generics/itds/bridgeMethods/Super2.java
new file mode 100644 (file)
index 0000000..4d447a3
--- /dev/null
@@ -0,0 +1,3 @@
+public class Super2 {
+  public Object m() { return null;}
+}
diff --git a/tests/java5/generics/itds/bridgeMethods/Super3.java b/tests/java5/generics/itds/bridgeMethods/Super3.java
new file mode 100644 (file)
index 0000000..d9e713c
--- /dev/null
@@ -0,0 +1,2 @@
+public class Super3 {
+}
index 2016f1d4dd6001b4f02422cdddfe6185bf32de3c..1c479defaf513faf0c8ecc21e7388479cd62f0e1 100644 (file)
@@ -3,7 +3,7 @@ import java.util.*;
 
 public class Util {
        
-       public static void dumpMethods(String clazzname,String[] expectedMethods) {
+       public static void checkMethods(String clazzname,String[] expectedMethods) {
                List methodsFound = new ArrayList();
                try {
                        java.lang.Class clz = Class.forName(clazzname);
diff --git a/tests/java5/generics/itds/bridgeMethods/X1.aj b/tests/java5/generics/itds/bridgeMethods/X1.aj
new file mode 100644 (file)
index 0000000..9ff893c
--- /dev/null
@@ -0,0 +1,11 @@
+public aspect X1 {
+  public static void main(String []argv) {
+    Super1 s = new Sub1();
+    Integer i = (Integer)s.m();
+
+    Util.checkMethods("Sub1",
+      new String[]{
+        "java.lang.Object Sub1.m() [BridgeMethod]",
+        "java.lang.Integer Sub1.m()"});
+  }
+}
diff --git a/tests/java5/generics/itds/bridgeMethods/X2.aj b/tests/java5/generics/itds/bridgeMethods/X2.aj
new file mode 100644 (file)
index 0000000..cd9eccf
--- /dev/null
@@ -0,0 +1,13 @@
+public aspect X2 {
+  public Integer Sub2.m() {return new Integer(42);}
+
+  public static void main(String []argv) {
+    Super2 s = new Sub2();
+    Integer i = (Integer)s.m();
+    
+    Util.checkMethods("Sub2",
+      new String[]{
+        "java.lang.Object Sub2.m() [BridgeMethod]",
+        "java.lang.Integer Sub2.m()"});
+  }
+}
\ No newline at end of file
diff --git a/tests/java5/generics/itds/bridgeMethods/X3.aj b/tests/java5/generics/itds/bridgeMethods/X3.aj
new file mode 100644 (file)
index 0000000..dc58e33
--- /dev/null
@@ -0,0 +1,14 @@
+public aspect X3 {
+
+  public Object Super3.m() {return null;}
+
+  public static void main(String []argv) {
+    Super3 s = new Sub3();
+    Integer i = (Integer)s.m();
+
+    Util.checkMethods("Sub3",
+      new String[]{
+        "java.lang.Object Sub3.m() [BridgeMethod]",
+        "java.lang.Integer Sub3.m()"});
+  }
+}
diff --git a/tests/java5/generics/itds/bridgeMethods/pr91381.aj b/tests/java5/generics/itds/bridgeMethods/pr91381.aj
new file mode 100644 (file)
index 0000000..b28729e
--- /dev/null
@@ -0,0 +1,16 @@
+public aspect pr91381 {
+  public abstract Object A.foo();
+
+  public static void main(String[] args) {
+    A a = new B();
+    System.out.println(a.foo());
+  }
+}
+
+abstract class A {
+//  abstract Object foo();
+}
+
+class B extends A {
+  @Override public Integer foo() { return new Integer(42); }
+}