public void visit()

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);
  }