in jvm-agent/src/main/org/jetbrains/lincheck/jvm/agent/SafeClassWriter.java [156:174]
private boolean typeImplements(String type, ClassReader info, String itf)
throws IOException {
while (!"java/lang/Object".equals(type)) {
String[] interfaces = info.getInterfaces();
for (String string : interfaces) {
if (string.equals(itf)) {
return true;
}
}
for (String s : interfaces) {
if (typeImplements(s, typeInfo(s), itf)) {
return true;
}
}
type = info.getSuperName();
info = typeInfo(type);
}
return false;
}