IDEADEV-31824 (Incorrect "manual array copy" warning)
[fedora-idea.git] / plugins / InspectionGadgets / test / com / siyeh / igtest / performance / manual_array_copy / ManualArrayCopyInspection.java
blob7e1536fc890697c9a8795c896c9a4a15cee89d44
1 package com.siyeh.igtest.performance.manual_array_copy;
3 public class ManualArrayCopyInspection
6 public void fooBar()
8 final int[] q = new int[3];
9 final int[] a = new int[3];
10 for(int i = 0; i < a.length; i++)
11 q[i] = a[i];
12 for(int i = 0; i < a.length; i++)
13 q[i+3] = a[i+4];
14 for(int i = 0; i < a.length; i++)
16 q[i] = a[i];
18 for(int i = 0; i < a.length; i++)
20 q[i+3] = a[i];
22 for(int i = 1; i < a.length; i++)
24 q[2+i] = a[i-1];
26 for(int i = 1; i < a.length; i++)
27 // not a legal array copy
28 q[2-i] = a[i-1];
31 void barFoo() {
32 int added_index = 3;
33 int[] array = new int[10];
34 int[] new_array = new int[14];
35 for (int i=0;i<array.length;i++) array[i] = i;
36 for (int i = 0; i < array.length; i++)
38 new_array[added_index + i] = array[i];
40 System.out.print("Old Array: ");
41 for (int i : array) System.out.print(i+" ");
42 System.out.println();
43 System.out.print("New Array: ");
44 for (int i : new_array) System.out.print(i+" ");
45 System.out.println();
48 static void foobarred(int[] a, int[] b) {
49 int x = 3;
50 for(int i = x ; i < a.length; i++) {
51 b[i - x] = a[i];
55 void boom() {
56 byte image[] = new byte[10];
57 int data[] = new int[10];
58 for (int k = 0; k < 5; ++k) { // breaks if converted to System.arraycopy()
59 image[k] = (byte)data[k];
63 void boomboom() {
64 Object target[] = new Object[10];
65 String source[] = new String[10];
66 for (int k = 0; k < 5; k++) { // can be converted to System.arraycopy()
67 target[k] = source[k];
71 static Integer[] nono(int[] ints) {
72 Integer[] array = new Integer[ints.length];
73 for ( int i = 0; i < ints.length; i++ ) {
74 array[i] = ints[i];
76 return array;