JsonArray queryIdList = new JsonArray(program);
JsonArray dimList = new JsonArray(program);
JType cur = arrayType;
for (int i = 0; i < dims; ++i) {
// Walk down each type from most dims to least.
JArrayType curArrayType = (JArrayType) cur;
JLiteral classLit = x.getClassLiterals().get(i);
classLitList.exprs.add(classLit);
JLiteral typeIdLit = program.getLiteralInt(program.getTypeId(curArrayType));
typeIdList.exprs.add(typeIdLit);
JLiteral queryIdLit = program.getLiteralInt(tryGetQueryId(curArrayType));
queryIdList.exprs.add(queryIdLit);
dimList.exprs.add(x.dims.get(i));
cur = curArrayType.getElementType();
}
call.getArgs().add(classLitList);
call.getArgs().add(typeIdList);
call.getArgs().add(queryIdList);
call.getArgs().add(dimList);