public ClassMetadataReader createClassMetadataReader()

in test-discovery/src/com/intellij/rt/coverage/data/api/SimpleDecodingTestDiscoveryProtocolReader.java [65:100]


  public ClassMetadataReader createClassMetadataReader() {
    return new ClassMetadataReader() {
      private Map<String, byte[]> methods;
      private List<String> files;
      private String fqn;
      {
        reset();
      }

      public void classStarted(int classId) {
        fqn = enumerator.get(classId);
      }

      public void file(int fileId) {
        files.add(enumerator.get(fileId));
      }

      public void method(int methodId, byte[] hash) {
        methods.put(enumerator.get(methodId), hash);
      }

      public void classFinished(int classId) {
        processClassMetadataData(new ClassMetadata(fqn, files, methods));
        reset();
      }

      private void reset() {
        fqn = null;
        files = new ArrayList<String>(1);
        methods = new HashMap<String, byte[]>(16); // TODO: Calculate mean methods count
      }

      public void finished() {
      }
    };
  }