aboutsummaryrefslogtreecommitdiffstats
path: root/tests/bugs164
diff options
context:
space:
mode:
authoraclement <aclement>2009-02-19 21:04:45 +0000
committeraclement <aclement>2009-02-19 21:04:45 +0000
commit0da0f4fbc6733814b049366938403101a9e578a7 (patch)
tree6eef0de7c8ea6250ee101ce5afbefbcef227e1e2 /tests/bugs164
parentbb6a294312282d7caaf8a85d79b35a94e3f3c2d6 (diff)
downloadaspectj-0da0f4fbc6733814b049366938403101a9e578a7.tar.gz
aspectj-0da0f4fbc6733814b049366938403101a9e578a7.zip
148508, 265418: tests and fixes: array and varargs subtype patterns
Diffstat (limited to 'tests/bugs164')
-rw-r--r--tests/bugs164/PR148508.java32
-rw-r--r--tests/bugs164/pr265418/A.java29
2 files changed, 61 insertions, 0 deletions
diff --git a/tests/bugs164/PR148508.java b/tests/bugs164/PR148508.java
new file mode 100644
index 000000000..081508c11
--- /dev/null
+++ b/tests/bugs164/PR148508.java
@@ -0,0 +1,32 @@
+
+aspect A {
+ pointcut broken1() : execution(* *(Object[]+));
+// pointcut broken2(): execution(* *(*)) && args(Object[]+);
+
+ before(): broken1() { System.out.println("a"); }
+// before(): broken2() { System.out.println("b"); }
+}
+
+public class PR148508 {
+
+ public static void main(String []argv) {
+ PR148508 instance = new PR148508();
+ instance.run();
+ }
+
+ public void run() {
+ Object[] arr = new String[5];
+ boolean b = arr instanceof String[];
+
+
+
+ // instance.m1(new Object[]{});
+// instance.m2(new Integer[]{});
+// instance.m3(new String[]{});
+ }
+
+// public void m1(Object[] os) { }
+// public void m2(Integer[] is) { }
+// public void m3(String[] ss) { }
+
+}
diff --git a/tests/bugs164/pr265418/A.java b/tests/bugs164/pr265418/A.java
new file mode 100644
index 000000000..b68ca4da7
--- /dev/null
+++ b/tests/bugs164/pr265418/A.java
@@ -0,0 +1,29 @@
+public aspect A {
+
+ public static void a(Object... os) {}
+ public static void b(String... ss) {}
+ public static void c(Integer... is) {}
+
+ public static void d(Object[] os) {}
+ public static void e(String[] ss) {}
+ public static void f(Integer[] is) {}
+
+
+ before(Object[] args): call(* *(Object+...)) && args(args) {
+ System.out.println("varargs "+thisJoinPoint);
+ }
+
+ before(Object[] args): call(* *(Object+[])) && args(args) {
+ System.out.println("arrays "+thisJoinPoint);
+ }
+
+ public static void main(String []argv) {
+ a();
+ b();
+ c();
+ d(null);
+ e(null);
+ f(null);
+ }
+
+}