9#ifndef LLVM_CLANG_SCALABLESTATICANALYSIS_ANALYSES_SHAREDLEXICALREPRESENTATION_SHAREDLEXICALREPRESENTATION_H
10#define LLVM_CLANG_SCALABLESTATICANALYSIS_ANALYSES_SHAREDLEXICALREPRESENTATION_SHAREDLEXICALREPRESENTATION_H
14#include "llvm/ADT/ArrayRef.h"
15#include "llvm/ADT/StringRef.h"
42 std::vector<SourceLocationRecord> DeclLocations;
44 friend EntitySourceLocationsSummary
49 explicit EntitySourceLocationsSummary(
50 std::vector<SourceLocationRecord> DeclLocations)
51 : DeclLocations(std::move(DeclLocations)) {}
54 static constexpr llvm::StringLiteral
Name =
"EntitySourceLocations";
59 return DeclLocations ==
Other.DeclLocations;
62 bool empty()
const {
return DeclLocations.empty(); }
bool operator==(const EntitySourceLocationsSummary &Other) const
static constexpr llvm::StringLiteral Name
friend llvm::ArrayRef< SourceLocationRecord > getDeclLocations(const EntitySourceLocationsSummary &)
friend EntitySourceLocationsSummary buildEntitySourceLocationsSummary(std::vector< SourceLocationRecord >)
SummaryName getSummaryName() const override
static SummaryName summaryName()
Base class for analysis-specific summary data.
Uniquely identifies an analysis summary.
@ Other
Other implicit parameter.
A canonical (file, line, column) triple for one declaration site.
bool operator<(const SourceLocationRecord &Other) const
bool operator==(const SourceLocationRecord &Other) const