static L allLiveMethods_skipOverridden_sortByNameWithinClass(O o) { Class c = _getClass(o); bool isInstance = c != o; new L methods; Set>> seenSignatures = new HashSet; while (c != null) { new L newMethods; for (Method m : c.getDeclaredMethods()) if (isInstance != isStaticMethod(m)) { Pair> sig = pair(m.getName(), methodArgumentTypes(m)); if (seenSignatures.add(sig)) newMethods.add(m); } addAll(methods, sortMethodsByNameIC(newMethods)); c = c.getSuperclass(); } ret methods; }