15#ifndef LLVM_CLANG_SCALABLESTATICANALYSIS_CORE_MODEL_ENTITYID_H
16#define LLVM_CLANG_SCALABLESTATICANALYSIS_CORE_MODEL_ENTITYID_H
18#include "llvm/Support/raw_ostream.h"
35 friend llvm::raw_ostream &
operator<<(llvm::raw_ostream &OS,
37 friend struct llvm::DenseMapInfo<EntityId>;
41 explicit EntityId(
size_t Index) : Index(Index) {}
51llvm::raw_ostream &
operator<<(llvm::raw_ostream &OS,
const EntityId &Id);
56template <>
struct DenseMapInfo<
clang::ssaf::EntityId> {
59 return densemap::detail::mix(Val.Index);
Manages entity name interning and provides efficient EntityId handles.
Lightweight opaque handle representing an entity in an EntityIdTable.
bool operator==(const EntityId &Other) const
bool operator!=(const EntityId &Other) const
friend class EntityIdTable
friend llvm::raw_ostream & operator<<(llvm::raw_ostream &OS, const EntityId &Id)
friend class SerializationFormat
bool operator<(const EntityId &Other) const
llvm::raw_ostream & operator<<(llvm::raw_ostream &OS, const VirtualMethodSummary &S)
Prints S as "VirtualMethodSummary { params=[...], return=..., overridden=[...] }".
Top level wrappers for InstallAPI frontend operations.
@ Other
Other implicit parameter.
Diagnostic wrappers for TextAPI types for error reporting.
clang::ssaf::EntityId EntityId
static bool isEqual(EntityId LHS, EntityId RHS)
static unsigned getHashValue(EntityId Val)