If you run DPJizer on a program with the following array declaration, DPJizer will insert region variables as follows, and reports an error message because the subtyping check fails.
double[][] a = new double[5][10];
double[]<Pi2>#idx1[]<Pi1>#idx2 a = new double[5]<Pi3>#idx3[10]<Pi4>#idx4;
MultidimensionalArrays/One.java:4: incompatible types
found : double[]<Pi3>#idx3[]<Pi4>#idx3
required: double[]<Pi2>#idx1[]<Pi1>#idx1
double[][] a = new double[5][10];
The TestMultidimensionalArrays test fails because of problem with checking the subtyping relation between multi-dimensional arrays.
If you run DPJizer on a program with the following array declaration, DPJizer will insert region variables as follows, and reports an error message because the subtyping check fails.
The
TestMultidimensionalArraystest fails because of problem with checking the subtyping relation between multi-dimensional arrays.