9#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODEL_ENTITYNAME_H
10#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODEL_ENTITYNAME_H
13#include "llvm/ADT/SmallString.h"
14#include "llvm/ADT/StringRef.h"
15#include "llvm/Support/raw_ostream.h"
32 friend llvm::raw_ostream &
operator<<(llvm::raw_ostream &OS,
39 auto asTuple()
const {
return std::tie(USR, Suffix, Namespace); }
45 EntityName(llvm::StringRef USR, llvm::StringRef Suffix,
58llvm::raw_ostream &
operator<<(llvm::raw_ostream &OS,
const EntityName &EN);
Uniquely identifies an entity in a program.
bool operator==(const EntityName &Other) const
friend class EntityLinker
EntityName(llvm::StringRef USR, llvm::StringRef Suffix, NestedBuildNamespace Namespace)
Client code should not use this constructor directly.
friend class SerializationFormat
EntityName makeQualified(NestedBuildNamespace Namespace) const
Creates a new EntityName with additional build namespace qualification.
bool operator!=(const EntityName &Other) const
friend llvm::raw_ostream & operator<<(llvm::raw_ostream &OS, const EntityName &EN)
bool operator<(const EntityName &Other) const
Represents a hierarchical sequence of build namespaces.
llvm::raw_ostream & operator<<(llvm::raw_ostream &OS, BuildNamespaceKind BNK)
@ Other
Other implicit parameter.