in src/main/java/com/intellij/rt/debugger/agent/CollectionBreakpointInstrumentor.java [385:411]
private static KnownMethodsSet getAllKnownMethods(Class<?> cls, List<Class<?>> supers) {
String internalClsName = getInternalClsName(cls);
boolean fairCheckIsNecessary = !internalClsName.startsWith("java/util") ||
internalClsName.split("/").length != 3;
if (fairCheckIsNecessary) {
return new KnownMethodsSet();
}
int index = supers.indexOf(cls);
if (index == -1) {
return new KnownMethodsSet();
}
KnownMethodsSet result = new KnownMethodsSet();
List<Class<?>> clsAndItsSupers = supers.subList(index, supers.size());
for (Class<?> superCls : clsAndItsSupers) {
KnownMethodsSet knownMethods = myKnownMethods.get(getInternalClsName(superCls));
if (knownMethods != null) {
result.addAll(knownMethods);
}
}
return result;
}