]> source.dussan.org Git - aspectj.git/commitdiff
GenericsWork: new test programs for bug reports.
authoraclement <aclement>
Wed, 1 Jun 2005 15:30:15 +0000 (15:30 +0000)
committeraclement <aclement>
Wed, 1 Jun 2005 15:30:15 +0000 (15:30 +0000)
tests/java5/generics/bugs/PR97763.aj [new file with mode: 0644]
tests/java5/generics/genericaspects/GenericAspect1.aj [new file with mode: 0644]
tests/java5/generics/genericaspects/GenericAspect2.aj [new file with mode: 0644]
tests/java5/generics/genericaspects/GenericAspect3.aj [new file with mode: 0644]

diff --git a/tests/java5/generics/bugs/PR97763.aj b/tests/java5/generics/bugs/PR97763.aj
new file mode 100644 (file)
index 0000000..12ede35
--- /dev/null
@@ -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 (file)
index 0000000..1b43280
--- /dev/null
@@ -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 (file)
index 0000000..8d2ca6a
--- /dev/null
@@ -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 (file)
index 0000000..b7a0936
--- /dev/null
@@ -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