private void computeForClass()

in report-builder/src/jetbrains/coverage/report/impl/StatisticsCalculatorImpl.java [50:99]


  private void computeForClass(final ClassInfo cd, final ClassInfo outerClass) {
    final Entry classStatements = cd.getStatementStats();
    final Entry classLines = cd.getLineStats();
    final Entry methodStats = cd.getMethodStats();
    final Entry blockStats = cd.getBlockStats();

    for (CoverageStatisticsBean bean : getIncrementLayers(cd, outerClass)) {
      boolean incrementCoveredClasses = false;
      boolean incrementTotalClasses = false;
      if (classLines != null) {
        bean.incrementLines(classLines);

        if (classLines.getCovered() > 0) {
          incrementCoveredClasses = true;
        }
        if (classLines.getTotal() > 0) {
          incrementTotalClasses = true;
        }
      }

      if (classStatements != null) {
        bean.incrementStatements(classStatements);

        if (classStatements.getCovered() > 0) {
          incrementCoveredClasses = true;
        }
        if (classStatements.getTotal() > 0) {
          incrementTotalClasses = true;
        }
      }

      if (incrementCoveredClasses) {
        bean.incrementCoveredClasses(1);
      }

      if (incrementTotalClasses) {
        bean.incrementTotalClasses(1);
      }

      bean.incrementMethods(methodStats);
      bean.incrementBlocks(blockStats);
    }

    Collection<ClassInfo> innerClasses = cd.getInnerClasses();
    if (innerClasses != null) {
      for (ClassInfo inner: innerClasses) {
        computeForClass(inner, outerClass == null ? cd : outerClass);
      }
    }
  }