You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ArrayCasts.java 1.3KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import org.aspectj.testing.Tester;
  2. public class ArrayCasts {
  3. public static void main(String[] args) {
  4. new ArrayCasts().realMain(args);
  5. }
  6. int[] ints = new int[1];
  7. int[][] intss = new int[2][];
  8. int[][][] intsss = new int[3][][];
  9. Integer[] integers = new Integer[4];
  10. Integer[][] integerss = new Integer[5][];
  11. Integer[][][] integersss = new Integer[6][][];
  12. public void realMain(String[] args) {
  13. ints = (int[]) new ArrayCasts().ints.clone();
  14. intss = (int[][]) new ArrayCasts().intss.clone();
  15. intsss = (int[][][])new ArrayCasts().intsss.clone();
  16. integers = (Integer[]) new ArrayCasts().integers.clone();
  17. integerss = (Integer[][]) new ArrayCasts().integerss.clone();
  18. integersss = (Integer[][][])new ArrayCasts().integersss.clone();
  19. Tester.checkEqual(ints.length, 1);
  20. Tester.checkEqual(intss.length, 2);
  21. Tester.checkEqual(intsss.length, 3);
  22. Tester.checkEqual(integers.length, 4);
  23. Tester.checkEqual(integerss.length, 5);
  24. Tester.checkEqual(integersss.length, 6);
  25. }
  26. }
  27. aspect A {
  28. //pointcut callstoSets(): callsto(receptions(void set*(..)) && instanceof(ArrayCasts));
  29. pointcut callstoSets(): call(void set*(..)) && target(ArrayCasts);
  30. before() : callstoSets() {}
  31. }