/** * Creates a new version of this comparator that sorts in reverse order. * * @return reverse comparator */ public CounterComparator reverse() { return new CounterComparator(value, !reverse); }
/** * Increments the counters by the values given by the collection of * elements. * * @param children * list of nodes, which counters will be added to this node */ public void increment(final Collection<? extends ICoverageNode> children) { for (final ICoverageNode child : children) { increment(child); } }
public boolean containsCode() { return getInstructionCounter().getTotalCount() != 0; }
private IBundleCoverage analyze(final ExecutionDataStore data, final PrintWriter out) throws IOException { final CoverageBuilder builder = new CoverageBuilder(); final Analyzer analyzer = new Analyzer(data, builder); for (final File f : classfiles) { analyzer.analyzeAll(f); } printNoMatchWarning(builder.getNoMatchClasses(), out); return builder.getBundle(name); }
/** * Caller must guarantee that {@code classFiles} are actually class file. */ public CoverageBuilder analyzeFiles(ExecutionDataStore executionDataStore, Collection<File> classFiles) { CoverageBuilder coverageBuilder = new CoverageBuilder(); Analyzer analyzer = new Analyzer(executionDataStore, coverageBuilder); for (File classFile : classFiles) { analyzeClassFile(analyzer, classFile); } logNoMatchClasses(coverageBuilder.getNoMatchClasses()); return coverageBuilder; }
// Together with the original class definition we can calculate coverage // information: final CoverageBuilder coverageBuilder = new CoverageBuilder(); final Analyzer analyzer = new Analyzer(executionData, coverageBuilder); analyzer.analyzeClass(getTargetClass(targetName), targetName);
public boolean init(final List<? extends ITableItem> items, final ICoverageNode total) { this.max = 0; for (final ITableItem item : items) { final int count = item.getNode().getCounter(entity).getTotalCount(); if (count > this.max) { this.max = count; } } return true; }
@Override public boolean equals(final Object obj) { if (obj instanceof ICounter) { final ICounter that = (ICounter) obj; return this.missed == that.getMissedCount() && this.covered == that.getCoveredCount(); } else { return false; } }
@Override protected int getValue(final ICounter counter) { return counter.getTotalCount(); } };
private static void writeLines(final ISourceNode source, final ReportElement parent) throws IOException { final int last = source.getLastLine(); for (int nr = source.getFirstLine(); nr <= last; nr++) { final ILine line = source.getLine(nr); if (line.getStatus() != ICounter.EMPTY) { parent.line(nr, line); } } }
public void visitBundle(final IBundleCoverage bundle, final ISourceFileLocator locator) throws IOException { final String name = appendName(bundle.getName()); for (final IPackageCoverage p : bundle.getPackages()) { final String packageName = p.getName(); for (final IClassCoverage c : p.getClasses()) { if (c.containsCode()) { writer.writeRow(name, packageName, c); } } } }
@Override protected int getValue(final ICounter counter) { return counter.getCoveredCount(); } };
/** * Analyzes the class given as a ASM reader. * * @param reader * reader with class definitions */ public void analyzeClass(final ClassReader reader) { analyzeClass(reader.b); }
@Override protected int getValue(final ICounter counter) { return counter.getMissedCount(); } };
/** * Creates a new group with the given name. * * @param name * name for the coverage node created internally */ protected AbstractGroupVisitor(final String name) { total = new CoverageNodeImpl(ElementType.GROUP, name); }
/** * Creates a new comparator for {@link ICoverageNode} counters of the given * entity based on this counter sorting criteria. * * @param entity * counter entity to sort on * @return comparator for {@link ICoverageNode} elements */ public NodeComparator on(final CounterEntity entity) { return new NodeComparator(this, entity); }
/** * Sets the counter entity to check. * * @param entity * counter entity to check * TODO: use CounterEntity directly once Maven 3 is required. */ public void setCounter(final String entity) { this.entity = CounterEntity.valueOf(entity); }
/** * Sets the value to check. * * @param value * value to check * TODO: use CounterValue directly once Maven 3 is required. */ public void setValue(final String value) { this.value = CounterValue.valueOf(value); }
public String getLinkLabel() { return node.getName(); }
public boolean init(final List<? extends ITableItem> items, final ICoverageNode total) { for (final ITableItem i : items) { if (i.getNode().getCounter(entity).getTotalCount() > 0) { return true; } } return false; }