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