From 0da0f4fbc6733814b049366938403101a9e578a7 Mon Sep 17 00:00:00 2001 From: aclement Date: Thu, 19 Feb 2009 21:04:45 +0000 Subject: [PATCH] 148508, 265418: tests and fixes: array and varargs subtype patterns --- tests/{bugs162 => bugs164}/PR148508.java | 15 +++++++++--- tests/bugs164/pr265418/A.java | 29 ++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 3 deletions(-) rename tests/{bugs162 => bugs164}/PR148508.java (64%) create mode 100644 tests/bugs164/pr265418/A.java diff --git a/tests/bugs162/PR148508.java b/tests/bugs164/PR148508.java similarity index 64% rename from tests/bugs162/PR148508.java rename to tests/bugs164/PR148508.java index 2269e6700..081508c11 100644 --- a/tests/bugs162/PR148508.java +++ b/tests/bugs164/PR148508.java @@ -11,13 +11,22 @@ public class PR148508 { public static void main(String []argv) { PR148508 instance = new PR148508(); -// instance.m1(new Object[]{}); - instance.m2(new Integer[]{}); + 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 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); + } + +} -- 2.39.5