@Override public boolean match(BugInstance bugInstance) { return bugInstance.getPriority() == priority; }
@Override public boolean match(BugInstance bugInstance) { return bugInstance.getPriority() == confidence; }
@OverridingMethodsMustInvokeSuper public void addError(BugInstance bug) { ensureNonnullBugCounts(); ++nBugs[bug.getPriority()]; ++nBugs[0]; }
/** * Decorate given BugInstance with properties. * * @param bugInstance * the BugInstance */ public void decorateBugInstance(BugInstance bugInstance) { int priority = computePriority(bugInstance.getPriority()); bugInstance.setPriority(priority); for (Map.Entry<T, Object> entry : map.entrySet()) { WarningProperty prop = entry.getKey(); Object attribute = entry.getValue(); if (attribute == null) { attribute = ""; } bugInstance.setProperty(prop.getName(), attribute.toString()); } } }
private void reportBest(ClassContext classContext, Method method, LinkedList<WarningWithProperties> warningList, boolean relaxed) { boolean reportAll = relaxed || REPORT_ALL_REF_COMPARISONS; int bestPriority = Integer.MAX_VALUE; for (WarningWithProperties warn : warningList) { int priority = warn.instance.getPriority(); if (bestPriority > priority) { bestPriority = priority; } if (reportAll) { if (relaxed) { // Add general warning properties WarningPropertyUtil.addPropertiesForDataMining(warn.propertySet, classContext, method, warn.location); // Convert warning properties to bug properties warn.propertySet.decorateBugInstance(warn.instance); } bugAccumulator.accumulateBug(warn.instance, warn.sourceLine); } } if (!reportAll) { for (WarningWithProperties warn : warningList) { int priority = warn.instance.getPriority(); if (priority <= bestPriority) { bugAccumulator.accumulateBug(warn.instance, warn.sourceLine); } } } }
/** * Called when a bug is reported. */ public void addBug(BugInstance bug) { SourceLineAnnotation source = bug.getPrimarySourceLineAnnotation(); PackageStats stat = getPackageStats(source.getPackageName()); stat.addError(bug); ++totalErrors[0]; int priority = bug.getPriority(); if (priority >= 1) { ++totalErrors[Math.min(priority, totalErrors.length - 1)]; } }
throw new NullPointerException("Missing source line"); int priority = bug.getPriority(); if (!performAccumulation) { bug.addSourceLine(sourceLine); BugInstance conflictingBug = hashes.get(hash); if (conflictingBug != null) { if (conflictingBug.getPriority() <= priority) { return;
public static int findRank(BugInstance bug) { int patternRank = findRank(bug.getBugPattern(), bug.getDetectorFactory()); return adjustRank(patternRank, bug.getPriority()); }
outputStream.printf("%2d ", rank); switch (bugInstance.getPriority()) { case Priorities.EXP_PRIORITY: outputStream.print("E ");
switch (bugInstance.getPriority()) { case Priorities.EXP_PRIORITY: outputStream.print(" (E) "); break; default: throw new IllegalArgumentException("Invalid priority " + bugInstance.getPriority() + " for " + bugInstance);
int priority = bugInstance.getPriority(); int bugRank = bugInstance.getBugRank(); if (priority <= priorityThreshold && bugRank <= rankThreshold) {
if (warning.getPriority() > desiredPriority) { continue;
public String getPriorityString() { // first, get the priority int value = this.getPriority(); String priorityString; if (value == Priorities.HIGH_PRIORITY) { priorityString = edu.umd.cs.findbugs.L10N.getLocalString("sort.priority_high", "High"); } else if (value == Priorities.NORMAL_PRIORITY) { priorityString = edu.umd.cs.findbugs.L10N.getLocalString("sort.priority_normal", "Medium"); } else if (value == Priorities.LOW_PRIORITY) { priorityString = edu.umd.cs.findbugs.L10N.getLocalString("sort.priority_low", "Low"); } else if (value == Priorities.EXP_PRIORITY) { priorityString = edu.umd.cs.findbugs.L10N.getLocalString("sort.priority_experimental", "Experimental"); } else { priorityString = edu.umd.cs.findbugs.L10N.getLocalString("sort.priority_ignore", "Ignore"); // This } // probably shouldn't ever happen, but what the hell, let's be complete return priorityString; }
int priority = bugInstance.getPriority(); if (priority > getMinPriorityAsInt()) { return false;
@After public void checkForUnexpectedBugs() { List<BugInstance> unexpectedBugs = new ArrayList<>(); for (BugInstance bug : bugReporter.getBugCollection()) { if (isUnexpectedBug(bug) && bug.getPriority() == Priorities.HIGH_PRIORITY) { unexpectedBugs.add(bug); System.out.println(bug.getMessageWithPriorityTypeAbbreviation()); System.out.println(" " + bug.getPrimarySourceLineAnnotation()); } } if (!unexpectedBugs.isEmpty()) { Assert.fail("Unexpected bugs (" + unexpectedBugs.size() + "):" + getBugsLocations(unexpectedBugs)); } }
criteriaMatches &= bugInstance.getPriority() == confidence.getConfidenceValue();
int score1 = 0; int score2 = 0; int priority = bug.getPriority(); if (unreadFields.classesScanned.contains(rb.maskedField.getClassName())) { if (unreadFields.getReadFields().contains(rb.maskedField)) {
public static BugInstance obfuscate(BugInstance b) { final BugInstance result = new BugInstance(b.getType(), b.getPriority()); BugAnnotationVisitor visitor = new BugAnnotationVisitor() {
pendingBug.setPriority(pendingBug.getPriority() - 1); pendingBug.addMethod(potentialSuperCall).describe(MethodAnnotation.METHOD_DID_YOU_MEAN_TO_OVERRIDE);
public void toElement(BugInstance bugInstance) { String className = bugInstance.getPrimaryClass().getClassName(); Element element = (Element) root.selectSingleNode(FILE_ELEMENT_NAME + "[@classname='" + className + "']"); if (element == null) { element = root.addElement(FILE_ELEMENT_NAME); element.addAttribute("classname", className); } element = element.addElement(ELEMENT_NAME); element.addAttribute("type", bugInstance.getType()); switch (bugInstance.getPriority()) { case Priorities.EXP_PRIORITY: element.addAttribute("priority", "Experimental"); break; case Priorities.LOW_PRIORITY: element.addAttribute("priority", "Low"); break; case Priorities.NORMAL_PRIORITY: element.addAttribute("priority", "Normal"); break; case Priorities.HIGH_PRIORITY: element.addAttribute("priority", "High"); break; default: assert false; } element.addAttribute("message", xmlEscape(bugInstance.getMessage())); SourceLineAnnotation line = bugInstance.getPrimarySourceLineAnnotation(); element.addAttribute("line", Integer.toString(line.getStartLine())); }