9#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_ANALYSES_UNSAFEBUFFERUSAGE_UNSAFEBUFFERUSAGE_H
10#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_ANALYSES_UNSAFEBUFFERUSAGE_UNSAFEBUFFERUSAGE_H
15#include "llvm/ADT/StringRef.h"
16#include "llvm/ADT/iterator_range.h"
24 const EntityPointerLevelSet UnsafeBuffers;
27 friend UnsafeBufferUsageEntitySummary
29 friend llvm::iterator_range<EntityPointerLevelSet::const_iterator>
32 UnsafeBufferUsageEntitySummary(EntityPointerLevelSet UnsafeBuffers)
36 static constexpr llvm::StringLiteral
Name =
"UnsafeBufferUsage";
41 return UnsafeBuffers ==
Other;
45 return UnsafeBuffers ==
Other.UnsafeBuffers;
48 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.