clang API Documentation
Trait class used to search the on-disk hash table containing all of the header search information. More...
#include <ASTReaderInternals.h>
Classes | |
struct | internal_key_type |
Public Types | |
typedef const FileEntry * | external_key_type |
typedef const internal_key_type & | internal_key_ref |
typedef HeaderFileInfo | data_type |
typedef unsigned | hash_value_type |
typedef unsigned | offset_type |
Public Member Functions | |
HeaderFileInfoTrait (ASTReader &Reader, ModuleFile &M, HeaderSearch *HS, const char *FrameworkStrings) | |
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 internal_key_type | GetInternalKey (const FileEntry *FE) |
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 filename, 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 201 of file ASTReaderInternals.h.
Definition at line 217 of file ASTReaderInternals.h.
Definition at line 208 of file ASTReaderInternals.h.
Definition at line 218 of file ASTReaderInternals.h.
typedef const internal_key_type& clang::serialization::reader::HeaderFileInfoTrait::internal_key_ref |
Definition at line 215 of file ASTReaderInternals.h.
Definition at line 219 of file ASTReaderInternals.h.
clang::serialization::reader::HeaderFileInfoTrait::HeaderFileInfoTrait | ( | ASTReader & | Reader, |
ModuleFile & | M, | ||
HeaderSearch * | HS, | ||
const char * | FrameworkStrings | ||
) | [inline] |
Definition at line 221 of file ASTReaderInternals.h.
unsigned HeaderFileInfoTrait::ComputeHash | ( | internal_key_ref | ikey | ) | [static] |
Definition at line 1483 of file ASTReader.cpp.
References clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::ModTime, and clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::Size.
Definition at line 1494 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 | ) | [static] |
Definition at line 1488 of file ASTReader.cpp.
References clang::FileEntry::getModificationTime(), clang::FileEntry::getName(), and clang::FileEntry::getSize().
HeaderFileInfoTrait::data_type HeaderFileInfoTrait::ReadData | ( | internal_key_ref | key, |
const unsigned char * | d, | ||
unsigned | DataLen | ||
) |
Definition at line 1527 of file ASTReader.cpp.
References clang::ModuleMap::addHeader(), clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::Filename, clang::FileManager::getFile(), and clang::HeaderFileInfo::HeaderRole.
HeaderFileInfoTrait::internal_key_type HeaderFileInfoTrait::ReadKey | ( | const unsigned char * | d, |
unsigned | |||
) | [static] |
Definition at line 1517 of file ASTReader.cpp.
References clang::serialization::reader::HeaderFileInfoTrait::internal_key_type::Size.
std::pair< unsigned, unsigned > HeaderFileInfoTrait::ReadKeyDataLength | ( | const unsigned char *& | d | ) | [static] |
Definition at line 1509 of file ASTReader.cpp.