summaryrefslogtreecommitdiffstats
path: root/tests/java5/generics
diff options
context:
space:
mode:
authoraclement <aclement>2005-07-29 12:50:05 +0000
committeraclement <aclement>2005-07-29 12:50:05 +0000
commit506b37517e2681c790cad02367107c43084f342c (patch)
tree4960f8671425b56584f8dc07a6f205c7c21c49e6 /tests/java5/generics
parentd8c084d286dd115764da0c63a824b8c36f71c28b (diff)
downloadaspectj-506b37517e2681c790cad02367107c43084f342c.tar.gz
aspectj-506b37517e2681c790cad02367107c43084f342c.zip
genericitds: using wildcard '? extends Type'
Diffstat (limited to 'tests/java5/generics')
-rw-r--r--tests/java5/generics/itds/ParameterizedMethodITD1.aj21
-rw-r--r--tests/java5/generics/itds/ParameterizedMethodITD2.aj20
2 files changed, 41 insertions, 0 deletions
diff --git a/tests/java5/generics/itds/ParameterizedMethodITD1.aj b/tests/java5/generics/itds/ParameterizedMethodITD1.aj
new file mode 100644
index 000000000..391a91df6
--- /dev/null
+++ b/tests/java5/generics/itds/ParameterizedMethodITD1.aj
@@ -0,0 +1,21 @@
+// Calling an ITD'd method where the parameterization is '? extends Super'
+import java.util.*;
+
+class Base { }
+
+public class ParameterizedMethodITD1 {
+
+ public static void main(String[] argv) {
+ List<A> as = new ArrayList<A>();
+ new Base().simple(as);
+ }
+}
+
+class Super {}
+
+class A extends Super {}
+
+
+aspect X {
+ void Base.simple(List<? extends Super> list) {}
+}
diff --git a/tests/java5/generics/itds/ParameterizedMethodITD2.aj b/tests/java5/generics/itds/ParameterizedMethodITD2.aj
new file mode 100644
index 000000000..7dfd3e032
--- /dev/null
+++ b/tests/java5/generics/itds/ParameterizedMethodITD2.aj
@@ -0,0 +1,20 @@
+import java.util.*;
+
+class Base { }
+
+public class ParameterizedMethodITD2 {
+
+ public static void main(String[] argv) {
+ List<A> as = new ArrayList<A>();
+ new Base().simple(as); // error, A is not a number...
+ }
+}
+
+class Super {}
+
+class A extends Super {}
+
+
+aspect X {
+ void Base.simple(List<? extends Number> list) {}
+}