clang
9.0.0
|
Trait class used to search the on-disk hash table containing all of the header search information. More...
#include "/work/llvm-www-releases/9.0.0/docsbuild/llvm.src/tools/clang/lib/Serialization/ASTReaderInternals.h"
Classes | |
struct | internal_key_type |
Public Types | |
using | external_key_type = const FileEntry * |
using | internal_key_ref = const internal_key_type & |
using | data_type = HeaderFileInfo |
using | hash_value_type = unsigned |
using | offset_type = unsigned |
Public Member Functions | |
HeaderFileInfoTrait (ASTReader &Reader, ModuleFile &M, HeaderSearch *HS, const char *FrameworkStrings) | |
internal_key_type | GetInternalKey (const FileEntry *FE) |
bool | EqualKey (internal_key_ref a, internal_key_ref b) |
data_type | ReadData (internal_key_ref, const unsigned char *d, unsigned DataLen) |
Static Public Member Functions | |
static hash_value_type | ComputeHash (internal_key_ref ikey) |
static std::pair< unsigned, unsigned > | ReadKeyDataLength (const unsigned char *&d) |
static internal_key_type | ReadKey (const unsigned char *d, unsigned) |
Trait class used to search the on-disk hash table containing all of the header search information.
The on-disk hash table contains a mapping from each header path to information about that header (how many times it has been included, its controlling macro, etc.). Note that we actually hash based on the size and mtime, and support "deep" comparisons of file names based on current inode numbers, so that the search can cope with non-normalized path names and symlinks.
Definition at line 244 of file ASTReaderInternals.h.
Definition at line 262 of file ASTReaderInternals.h.
Definition at line 251 of file ASTReaderInternals.h.
using clang::serialization::reader::HeaderFileInfoTrait::hash_value_type = unsigned |
Definition at line 263 of file ASTReaderInternals.h.
using clang::serialization::reader::HeaderFileInfoTrait::internal_key_ref = const internal_key_type & |
Definition at line 260 of file ASTReaderInternals.h.
using clang::serialization::reader::HeaderFileInfoTrait::offset_type = unsigned |
Definition at line 264 of file ASTReaderInternals.h.
|
inline |
Definition at line 266 of file ASTReaderInternals.h.
References a, b, clang::serialization::reader::ASTDeclContextNameLookupTrait::ComputeHash(), d, clang::serialization::reader::ASTDeclContextNameLookupTrait::EqualKey(), clang::serialization::reader::ASTDeclContextNameLookupTrait::GetInternalKey(), clang::serialization::reader::ASTDeclContextNameLookupTrait::ReadKey(), and clang::serialization::reader::ASTDeclContextNameLookupTrait::ReadKeyDataLength().
|
static |
Definition at line 1803 of file ASTReader.cpp.
References clang::format::hash_combine(), clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::ModTime, and clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::Size.
bool HeaderFileInfoTrait::EqualKey | ( | internal_key_ref | a, |
internal_key_ref | b | ||
) |
Definition at line 1815 of file ASTReader.cpp.
References clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::Filename, clang::FileManager::getFile(), clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::ModTime, and clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::Size.
HeaderFileInfoTrait::internal_key_type HeaderFileInfoTrait::GetInternalKey | ( | const FileEntry * | FE | ) |
Definition at line 1808 of file ASTReader.cpp.
References clang::FileEntry::getModificationTime(), clang::FileEntry::getName(), clang::FileEntry::getSize(), and clang::serialization::ModuleFile::HasTimestamps.
HeaderFileInfoTrait::data_type HeaderFileInfoTrait::ReadData | ( | internal_key_ref | key, |
const unsigned char * | d, | ||
unsigned | DataLen | ||
) |
Definition at line 1860 of file ASTReader.cpp.
References clang::ModuleMap::addHeader(), clang::HeaderFileInfo::ControllingMacroID, d, clang::HeaderFileInfo::DirInfo, End, clang::HeaderFileInfo::External, clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::Filename, Filename, clang::HeaderFileInfo::Framework, clang::FileManager::getFile(), clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::Imported, clang::HeaderFileInfo::IndexHeaderMapHeader, clang::HeaderFileInfo::isImport, clang::HeaderFileInfo::isModuleHeader, clang::HeaderFileInfo::isPragmaOnce, clang::HeaderFileInfo::IsValid, max(), clang::HeaderFileInfo::NumIncludes, and clang::ModuleMap::TextualHeader.
|
static |
Definition at line 1848 of file ASTReader.cpp.
References clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::Filename, clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::Imported, clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::ModTime, and clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::Size.
|
static |
Definition at line 1839 of file ASTReader.cpp.