summaryrefslogtreecommitdiffstats
path: root/tests/java5
diff options
context:
space:
mode:
Diffstat (limited to 'tests/java5')
-rw-r--r--tests/java5/generics/bugs/PR97763.aj21
-rw-r--r--tests/java5/generics/genericaspects/GenericAspect1.aj6
-rw-r--r--tests/java5/generics/genericaspects/GenericAspect2.aj9
-rw-r--r--tests/java5/generics/genericaspects/GenericAspect3.aj24
4 files changed, 60 insertions, 0 deletions
diff --git a/tests/java5/generics/bugs/PR97763.aj b/tests/java5/generics/bugs/PR97763.aj
new file mode 100644
index 000000000..12ede35b8
--- /dev/null
+++ b/tests/java5/generics/bugs/PR97763.aj
@@ -0,0 +1,21 @@
+import java.util.Vector;
+
+public class PR97763 {
+ Vector<String> v = new Vector<String>();
+ Vector<Object> vo;
+
+ public void mStr(Vector<String> v1) {v1.add("hello");}
+ public void mInt(Vector<Integer> v1) { }
+
+ public static void main(String []argv) {
+ PR97763 p = new PR97763();
+ p.mStr(p.v);
+ p.itdmStr(p.v);
+ System.err.println("Number of entries="+p.v.size());
+ }
+}
+
+aspect FooAspect {
+ public void PR97763.itdmObj(Vector<Object> v) { }
+ public void PR97763.itdmStr(Vector<String> v) { v.add("world");}
+}
diff --git a/tests/java5/generics/genericaspects/GenericAspect1.aj b/tests/java5/generics/genericaspects/GenericAspect1.aj
new file mode 100644
index 000000000..1b4328082
--- /dev/null
+++ b/tests/java5/generics/genericaspects/GenericAspect1.aj
@@ -0,0 +1,6 @@
+// Simple generic aspect declaration
+public aspect GenericAspect1<S,T> {
+
+ public void doSomething(S s,T t) { }
+
+}
diff --git a/tests/java5/generics/genericaspects/GenericAspect2.aj b/tests/java5/generics/genericaspects/GenericAspect2.aj
new file mode 100644
index 000000000..8d2ca6a9c
--- /dev/null
+++ b/tests/java5/generics/genericaspects/GenericAspect2.aj
@@ -0,0 +1,9 @@
+// illegal, super aspect is not abstract
+
+public aspect GenericAspect2<S,T> {
+
+ public void doSomething(S s,T t) { }
+
+}
+
+aspect Sub extends GenericAspect2<String,String> { }
diff --git a/tests/java5/generics/genericaspects/GenericAspect3.aj b/tests/java5/generics/genericaspects/GenericAspect3.aj
new file mode 100644
index 000000000..b7a0936e7
--- /dev/null
+++ b/tests/java5/generics/genericaspects/GenericAspect3.aj
@@ -0,0 +1,24 @@
+// should be ok...
+
+public abstract aspect GenericAspect3<S,T> {
+
+ public void doSomething(S s,T t) {
+ System.err.println(s);
+ System.err.println(t);
+ }
+
+ public static void main(String[]argv) {
+ m();
+ }
+
+ public static void m() {}
+
+}
+
+aspect Sub extends GenericAspect3<String,String> {
+
+ before(): call(* m(..)) {
+ doSomething("A","B");
+ }
+
+} \ No newline at end of file