public ProjectData getProjectData()

in reporter/src/com/intellij/rt/coverage/aggregate/Aggregator.java [57:93]


  public ProjectData getProjectData(Request request) {
    boolean hasRawHitsReport = false;
    for (BinaryReport report : myReports) {
      hasRawHitsReport |= report.isRawHitsReport();
    }
    // Note that instructions collection is done only inside this method
    // to ensure that instructions count in inline methods
    // correspond to method definition, not method call
    ProjectData projectData = new ProjectData();
    final ProjectContext context = collectCoverageInformationFromOutputs(projectData, request);
    final ProjectData projectDataCopy = hasRawHitsReport ? copyProjectData(projectData) : null;
    context.dropLineMappings(projectData);

    for (BinaryReport report : myReports) {
      if (report.isRawHitsReport()) {
        try {
          RawReportLoader.load(report.getDataFile(), projectDataCopy);
        } catch (IOException e) {
          throw new RuntimeException(e);
        }
      } else {
        final ProjectData data = ProjectDataLoader.load(report.getDataFile());
        context.dropIgnoredLines(data);
        mergeHits(projectData, data);
      }
    }
    if (projectDataCopy != null) {
      context.finalizeCoverage(projectDataCopy);
      mergeHits(projectData, projectDataCopy);
    }

    if (context.getInherits() != null) {
      projectData = filterInheritance(request, context, projectData);
    }

    return projectData;
  }