< prev index next >
test/testlibrary/jittester/src/jdk/test/lib/jittester/arrays/ArrayExtraction.java
Print this page
*** 38,47 ****
--- 38,48 ----
dimentions, where N < M.
*/
public class ArrayExtraction extends IRNode {
private final List<Byte> dims;
public ArrayExtraction(IRNode array, ArrayList<IRNode> dimensionExpressions) {
+ super(array.getResultType());
addChild(array);
addChildren(dimensionExpressions);
if (array instanceof ArrayCreation) {
dims = new ArrayList<>();
ArrayCreation ac = (ArrayCreation) array;
*** 54,64 ****
for (int i = dimensionExpressions.size(); i < ae.getDimsNumber(); ++i) {
dims.add(ae.getDim(i));
}
} else if (array instanceof LocalVariable) {
LocalVariable loc = (LocalVariable) array;
! TypeArray type = (TypeArray) loc.get().type;
dims = type.getDims();
for (int i = dimensionExpressions.size(); i < type.dimensions; ++i) {
dims.add(type.getDims().get(i));
}
} else {
--- 55,65 ----
for (int i = dimensionExpressions.size(); i < ae.getDimsNumber(); ++i) {
dims.add(ae.getDim(i));
}
} else if (array instanceof LocalVariable) {
LocalVariable loc = (LocalVariable) array;
! TypeArray type = (TypeArray) loc.getVariableInfo().type;
dims = type.getDims();
for (int i = dimensionExpressions.size(); i < type.dimensions; ++i) {
dims.add(type.getDims().get(i));
}
} else {
< prev index next >