class ArrayAccessExpressionTest {
    public static void main(String[] args) {
        int i;
        int[] ia;
        long l;
        long[] la;
        boolean b;
        A cA;
        B cB;

        i = ia[ia]; // INVALID_INDEX_TYPE
        i = ia[l];  // INVALID_INDEX_TYPE
        i = ia[la]; // INVALID_INDEX_TYPE
        i = ia[b];  // INVALID_INDEX_TYPE
        i = ia[cA]; // INVALID_INDEX_TYPE

        l = la[ia];  // INVALID_INDEX_TYPE
        l = la[l];   // INVALID_INDEX_TYPE
        l = la[la];  // INVALID_INDEX_TYPE
        l = la[b];   // INVALID_INDEX_TYPE
        l = la[cA];  // INVALID_INDEX_TYPE

        i = i[i];    // NOT_ARRAY_TYPE
        i = l[i];    // NOT_ARRAY_TYPE
        i = b[i];    // NOT_ARRAY_TYPE
        i = cA[i];   // NOT_ARRAY_TYPE
    }
}
class A {}
class B {}

@@ -188,16 +188,43 @@
  B cB;%0A%0A
+        //i = ia%5Bi%5D;// OK!%0A
         
@@ -418,32 +418,61 @@
 LID_INDEX_TYPE%0A%0A
+        //l = la%5Bi%5D;  // OK!%0A
         l = la%5Bi

Add comment about allowed accesses.