clang 22.0.0git
|
Trait class used to search the on-disk hash table containing all of the header search information. More...
Classes | |
struct | internal_key_type |
Public Types | |
using | external_key_type = FileEntryRef |
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) | |
internal_key_type | GetInternalKey (external_key_type ekey) |
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 371 of file ASTReaderInternals.h.
Definition at line 387 of file ASTReaderInternals.h.
Definition at line 376 of file ASTReaderInternals.h.
Definition at line 388 of file ASTReaderInternals.h.
using clang::serialization::reader::HeaderFileInfoTrait::internal_key_ref = const internal_key_type & |
Definition at line 385 of file ASTReaderInternals.h.
Definition at line 389 of file ASTReaderInternals.h.
|
inline |
Definition at line 391 of file ASTReaderInternals.h.
|
static |
Definition at line 2287 of file ASTReader.cpp.
References ComputeHash(), memcpy(), clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::ModTime, and clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::Size.
Referenced by ComputeHash().
bool HeaderFileInfoTrait::EqualKey | ( | internal_key_ref | a, |
internal_key_ref | b ) |
Definition at line 2302 of file ASTReader.cpp.
References b, EqualKey(), clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::Filename, clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::ModTime, and clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::Size.
Referenced by EqualKey().
HeaderFileInfoTrait::internal_key_type HeaderFileInfoTrait::GetInternalKey | ( | external_key_type | ekey | ) |
Definition at line 2295 of file ASTReader.cpp.
References GetInternalKey(), clang::FileEntryRef::getModificationTime(), clang::FileEntryRef::getName(), and clang::FileEntryRef::getSize().
Referenced by GetInternalKey().
HeaderFileInfoTrait::data_type HeaderFileInfoTrait::ReadData | ( | internal_key_ref | key, |
const unsigned char * | d, | ||
unsigned | DataLen ) |
Definition at line 2334 of file ASTReader.cpp.
References clang::ModuleMap::addHeader(), clang::HeaderFileInfo::DirInfo, clang::HeaderFileInfo::External, clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::Filename, clang::HeaderFileInfo::isImport, clang::HeaderFileInfo::isPragmaOnce, clang::HeaderFileInfo::IsValid, clang::HeaderFileInfo::LazyControllingMacro, clang::HeaderFileInfo::mergeModuleMembership(), and ReadData().
Referenced by ReadData().
|
static |
Definition at line 2321 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, ReadKey(), and clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::Size.
Referenced by ReadKey().
|
static |
Definition at line 2316 of file ASTReader.cpp.
References ReadKeyDataLength(), and readULEBKeyDataLength().
Referenced by ReadKeyDataLength().