in src/main/java/net/hydromatic/linq4j/expressions/Primitive.java [585:619]
public void sortArray(Object array, int fromIndex, int toIndex) {
switch (this) {
case BOOLEAN:
// there is no Arrays.sort(boolean[], int, int)
sortBooleanArray((boolean[]) array, fromIndex, toIndex);
return;
case BYTE:
Arrays.sort((byte[]) array, fromIndex, toIndex);
return;
case CHAR:
Arrays.sort((char[]) array, fromIndex, toIndex);
return;
case DOUBLE:
Arrays.sort((double[]) array, fromIndex, toIndex);
return;
case FLOAT:
Arrays.sort((float[]) array, fromIndex, toIndex);
return;
case INT:
Arrays.sort((int[]) array, fromIndex, toIndex);
return;
case LONG:
Arrays.sort((long[]) array, fromIndex, toIndex);
return;
case SHORT:
Arrays.sort((short[]) array, fromIndex, toIndex);
return;
case OTHER:
case VOID:
Arrays.sort((Object[]) array, fromIndex, toIndex);
return;
default:
throw new AssertionError("unexpected " + this);
}
}