in instrumentation/src/com/intellij/rt/coverage/instrumentation/filters/classFilter/InheritanceCollectorFilter.java [36:60]
public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {
super.visit(version, access, name, signature, superName, interfaces);
int size = (superName == null ? 0 : 1) + (interfaces == null ? 0 : interfaces.length);
boolean hasNoSuper = (interfaces == null || interfaces.length == 0) && "java/lang/Object".equals(superName);
String[] inherits;
if (size == 0) {
inherits = EMPTY;
} else if (hasNoSuper) {
inherits = OBJECT;
} else {
inherits = new String[size];
if (interfaces != null) {
System.arraycopy(interfaces, 0, inherits, 0, interfaces.length);
}
if (superName != null) {
inherits[size - 1] = superName;
}
for (int i = 0; i < size; i++) {
inherits[i] = myContext.getProjectContext().getFromPool(ClassNameUtil.convertToFQName(inherits[i]));
}
}
myContext.getProjectContext().addInherits(myContext.get(Key.CLASS_NAME), inherits);
}