Message10243
The previous comparator is wrong. This one apparently solves it:
// === START PATCH FOR BUG 2391 ===
Comparator<Class<?>> classComparator = new Comparator<Class<?>>() {
@Override public int compare(Class<?> c1, Class<?> c2) {
if (c1 != c2) {
if (c1.isAssignableFrom(c2)) { return -1; }
if (c2.isAssignableFrom(c1)) { return 1; }
}
return 0;
}
};
Comparator<Method> methodComparator = new Comparator<Method>() {
@Override public int compare(Method m1, Method m2) {
int nameComparison = m1.getName().compareTo(m2.getName());
if (nameComparison != 0) { return nameComparison; }
int typeComparison = classComparator.compare(m1.getDeclaringClass(), m2.getDeclaringClass());
if (typeComparison != 0) { return typeComparison; }
int returnComparison = classComparator.compare(m1.getReturnType(), m2.getReturnType());
if (returnComparison != 0) { return returnComparison; }
return 0;
}
};
Arrays.sort(methods, methodComparator);
// ==== END PATCH FOR BUG 2391 ==== |
|
Date |
User |
Action |
Args |
2015-09-10 10:04:03 | jsaiz | set | messageid: <1441879443.5.0.873013660015.issue2391@psf.upfronthosting.co.za> |
2015-09-10 10:04:03 | jsaiz | set | recipients:
+ jsaiz, zyasoft |
2015-09-10 10:04:03 | jsaiz | link | issue2391 messages |
2015-09-10 10:04:03 | jsaiz | create | |
|