@Override public void sawBranchTo(int target) { Iterator<BugInstance> i = pendingBugs.iterator(); while (i.hasNext()) { BugInstance bug = i.next(); if (bug.getPrimarySourceLineAnnotation().getStartBytecode() >= target) { i.remove(); } } }
.append(source.getStartBytecode()).append(" "); Integer count = counts.get(key); if (count == null) {
attributeList.addAttribute("end", String.valueOf(n)); n = getStartBytecode(); // startBytecode/endBytecode haven't been set
static SourceLineAnnotation obfuscate(SourceLineAnnotation m) { SourceLineAnnotation result = new SourceLineAnnotation(hashClass(m.getClassName()), hashFilename(m.getSourceFile()), m.getStartLine(), m.getEndLine(), m.getStartBytecode(), m.getEndBytecode()); result.setDescription(m.getDescription()); return result; }
private void foundSwitchNoDefault(SourceLineAnnotation s) { LineNumberTable table = getCode().getLineNumberTable(); if (table != null) { int startLine = s.getStartLine(); int prev = Integer.MIN_VALUE; for (LineNumber ln : table.getLineNumberTable()) { int thisLineNumber = ln.getLineNumber(); if (thisLineNumber < startLine && thisLineNumber > prev && ln.getStartPC() < s.getStartBytecode()) { prev = thisLineNumber; } } int diff = startLine - prev; if (diff > 5) { return; } bugAccumulator.accumulateBug(new BugInstance(this, "SF_SWITCH_NO_DEFAULT", NORMAL_PRIORITY).addClassAndMethod(this), s); } }
if (!hasManyPreceedingNullTests(sourceLineAnnotation.getStartBytecode())) { hasManyNullTests = false;
@Override public void sawBranchTo(int target) { Iterator<BugInstance> i = pendingBugs.iterator(); while (i.hasNext()) { BugInstance bug = i.next(); if (bug.getPrimarySourceLineAnnotation().getStartBytecode() >= target) { i.remove(); } } }
.append(source.getStartBytecode()).append(" "); Integer count = counts.get(key); if (count == null) {
attributeList.addAttribute("end", String.valueOf(n)); n = getStartBytecode(); // startBytecode/endBytecode haven't been set
static SourceLineAnnotation obfuscate(SourceLineAnnotation m) { SourceLineAnnotation result = new SourceLineAnnotation(hashClass(m.getClassName()), hashFilename(m.getSourceFile()), m.getStartLine(), m.getEndLine(), m.getStartBytecode(), m.getEndBytecode()); result.setDescription(m.getDescription()); return result; }
return result; result = compare(oneSource.getStartBytecode(), twoSource.getStartBytecode()); if (result != 0) { return result;
if (!hasManyPreceedingNullTests(sourceLineAnnotation.getStartBytecode())) { hasManyNullTests = false;
private void foundSwitchNoDefault(SourceLineAnnotation s) { LineNumberTable table = getCode().getLineNumberTable(); if (table != null) { int startLine = s.getStartLine(); int prev = Integer.MIN_VALUE; for (LineNumber ln : table.getLineNumberTable()) { int thisLineNumber = ln.getLineNumber(); if (thisLineNumber < startLine && thisLineNumber > prev && ln.getStartPC() < s.getStartBytecode()) { prev = thisLineNumber; } } int diff = startLine - prev; if (diff > 5) { return; } bugAccumulator.accumulateBug(new BugInstance(this, "SF_SWITCH_NO_DEFAULT", NORMAL_PRIORITY).addClassAndMethod(this), s); } }