Incorporate source ranges for RangeBugReport when coelescing reports into equivalence classes.

llvm-svn: 127604
This commit is contained in:
Ted Kremenek 2011-03-14 19:50:34 +00:00
parent 771f57de1c
commit 7b635daf6e
1 changed files with 12 additions and 0 deletions

View File

@ -219,6 +219,18 @@ public:
virtual std::pair<ranges_iterator, ranges_iterator> getRanges() const {
return std::make_pair(Ranges.begin(), Ranges.end());
}
virtual void Profile(llvm::FoldingSetNodeID& hash) const {
BugReport::Profile(hash);
for (llvm::SmallVectorImpl<SourceRange>::const_iterator I =
Ranges.begin(), E = Ranges.end(); I != E; ++I) {
const SourceRange range = *I;
if (!range.isValid())
continue;
hash.AddInteger(range.getBegin().getRawEncoding());
hash.AddInteger(range.getEnd().getRawEncoding());
}
}
};
class EnhancedBugReport : public RangedBugReport {