Browse Source

148508, 265418: tests and fixes: array and varargs subtype patterns

tags/pre268419
aclement 15 years ago
parent
commit
0da0f4fbc6
2 changed files with 41 additions and 3 deletions
  1. 12
    3
      tests/bugs164/PR148508.java
  2. 29
    0
      tests/bugs164/pr265418/A.java

tests/bugs162/PR148508.java → tests/bugs164/PR148508.java View File

@@ -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) { }

}

+ 29
- 0
tests/bugs164/pr265418/A.java View File

@@ -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);
}

}

Loading…
Cancel
Save