9#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_ANALYSES_UNSAFEBUFFERUSAGE_UNSAFEBUFFERUSAGE_H
10#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_ANALYSES_UNSAFEBUFFERUSAGE_UNSAFEBUFFERUSAGE_H
20 const EntityPointerLevelSet UnsafeBuffers;
23 friend UnsafeBufferUsageEntitySummary
25 friend llvm::iterator_range<EntityPointerLevelSet::const_iterator>
28 explicit UnsafeBufferUsageEntitySummary(EntityPointerLevelSet UnsafeBuffers)
32 static constexpr llvm::StringLiteral
Name =
"UnsafeBufferUsage";
37 return UnsafeBuffers ==
Other;
41 return UnsafeBuffers ==
Other.UnsafeBuffers;
44 bool empty()
const {
return UnsafeBuffers.empty(); }
Base class for analysis-specific summary data.
Uniquely identifies an analysis summary.
static constexpr llvm::StringLiteral Name
friend llvm::iterator_range< EntityPointerLevelSet::const_iterator > getUnsafeBuffers(const UnsafeBufferUsageEntitySummary &)
SummaryName getSummaryName() const override
friend UnsafeBufferUsageEntitySummary buildUnsafeBufferUsageEntitySummary(EntityPointerLevelSet)
static SummaryName summaryName()
friend class UnsafeBufferUsageTUSummaryExtractor
bool operator==(const EntityPointerLevelSet &Other) const
bool operator==(const UnsafeBufferUsageEntitySummary &Other) const
@ Other
Other implicit parameter.