aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authoraclement <aclement>2005-06-01 15:30:15 +0000
committeraclement <aclement>2005-06-01 15:30:15 +0000
commite842bdea035f254aefe99f05cd4de2725e7fb37c (patch)
tree6141b215bb61f5a5b80c7462a9a4ab921f909f78 /tests
parent2ab848aab702312d36990747059849b81b84168d (diff)
downloadaspectj-e842bdea035f254aefe99f05cd4de2725e7fb37c.tar.gz
aspectj-e842bdea035f254aefe99f05cd4de2725e7fb37c.zip
GenericsWork: new test programs for bug reports.
Diffstat (limited to 'tests')
-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