aboutsummaryrefslogtreecommitdiffstats
path: root/tests/java5/generics
diff options
context:
space:
mode:
authoraclement <aclement>2005-07-04 14:36:48 +0000
committeraclement <aclement>2005-07-04 14:36:48 +0000
commit754466b993b196263c7b378499dc427f37368f2d (patch)
tree0961a84f50dc58da0f2d799fafcff4783d1a9fd0 /tests/java5/generics
parentda245a5c85a814437173d4350407489d85f6c8b8 (diff)
downloadaspectj-754466b993b196263c7b378499dc427f37368f2d.tar.gz
aspectj-754466b993b196263c7b378499dc427f37368f2d.zip
generics: decp testcases
Diffstat (limited to 'tests/java5/generics')
-rw-r--r--tests/java5/generics/decp/Basic2.aj4
-rw-r--r--tests/java5/generics/decp/Basic3.aj11
-rw-r--r--tests/java5/generics/decp/Basic4.aj9
-rw-r--r--tests/java5/generics/decp/Basic5.aj9
4 files changed, 31 insertions, 2 deletions
diff --git a/tests/java5/generics/decp/Basic2.aj b/tests/java5/generics/decp/Basic2.aj
index d1127d1ed..fce3eceb7 100644
--- a/tests/java5/generics/decp/Basic2.aj
+++ b/tests/java5/generics/decp/Basic2.aj
@@ -1,12 +1,12 @@
// error, can't implement two variants of a generic type
interface I<T>{ }
-public class Basic implements I<String> {
+public class Basic2 implements I<String> {
public static void main(String[]argv) {
}
}
aspect X{
- declare parents: Basic implements I<Integer>; // error
+ declare parents: Basic2 implements I<Integer>; // error
}
diff --git a/tests/java5/generics/decp/Basic3.aj b/tests/java5/generics/decp/Basic3.aj
new file mode 100644
index 000000000..3ce752956
--- /dev/null
+++ b/tests/java5/generics/decp/Basic3.aj
@@ -0,0 +1,11 @@
+// error, only one type parameter for I
+interface I<T> { }
+
+public class Basic3 {
+ public static void main(String[]argv) {
+ }
+}
+
+aspect X {
+ declare parents: Basic3 implements I<String,Number>;
+}
diff --git a/tests/java5/generics/decp/Basic4.aj b/tests/java5/generics/decp/Basic4.aj
new file mode 100644
index 000000000..10ccc56a7
--- /dev/null
+++ b/tests/java5/generics/decp/Basic4.aj
@@ -0,0 +1,9 @@
+// Works, Double meets the spec for the type parameter
+interface I<T extends Number> { }
+
+public class Basic4 {
+}
+
+aspect X {
+ declare parents: Basic4 implements I<Double>;
+}
diff --git a/tests/java5/generics/decp/Basic5.aj b/tests/java5/generics/decp/Basic5.aj
new file mode 100644
index 000000000..991eda6c2
--- /dev/null
+++ b/tests/java5/generics/decp/Basic5.aj
@@ -0,0 +1,9 @@
+// fails, Number is not a subclass of double!
+interface I<T super Number> { }
+
+public class Basic5 {
+}
+
+aspect X {
+ declare parents: Basic5 implements I<Double>;
+}