clang API Documentation
Trait class used to search the on-disk hash table containing all of the header search information. More...
#include <ASTReaderInternals.h>
Public Types | |
| typedef const char * | external_key_type |
| typedef const char * | internal_key_type |
| typedef HeaderFileInfo | data_type |
Public Member Functions | |
| HeaderFileInfoTrait (ASTReader &Reader, ModuleFile &M, HeaderSearch *HS, const char *FrameworkStrings, const char *SearchPath=0) | |
| bool | EqualKey (internal_key_type a, internal_key_type b) |
| data_type | ReadData (const internal_key_type, const unsigned char *d, unsigned DataLen) |
Static Public Member Functions | |
| static unsigned | ComputeHash (const char *path) |
| static internal_key_type | GetInternalKey (const char *path) |
| 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 185 of file ASTReaderInternals.h.
Definition at line 210 of file ASTReaderInternals.h.
| typedef const char* clang::serialization::reader::HeaderFileInfoTrait::external_key_type |
Definition at line 207 of file ASTReaderInternals.h.
| typedef const char* clang::serialization::reader::HeaderFileInfoTrait::internal_key_type |
Definition at line 208 of file ASTReaderInternals.h.
| clang::serialization::reader::HeaderFileInfoTrait::HeaderFileInfoTrait | ( | ASTReader & | Reader, |
| ModuleFile & | M, | ||
| HeaderSearch * | HS, | ||
| const char * | FrameworkStrings, | ||
| const char * | SearchPath = 0 |
||
| ) | [inline] |
Definition at line 212 of file ASTReaderInternals.h.
| unsigned HeaderFileInfoTrait::ComputeHash | ( | const char * | path | ) | [static] |
Definition at line 1387 of file ASTReader.cpp.
| bool HeaderFileInfoTrait::EqualKey | ( | internal_key_type | a, |
| internal_key_type | b | ||
| ) |
Definition at line 1394 of file ASTReader.cpp.
| HeaderFileInfoTrait::internal_key_type HeaderFileInfoTrait::GetInternalKey | ( | const char * | path | ) | [static] |
Definition at line 1392 of file ASTReader.cpp.
| HeaderFileInfoTrait::data_type HeaderFileInfoTrait::ReadData | ( | const internal_key_type | , |
| const unsigned char * | d, | ||
| unsigned | DataLen | ||
| ) |
Definition at line 1417 of file ASTReader.cpp.
References clang::HeaderFileInfo::isImport, clang::io::ReadUnalignedLE16(), and clang::io::ReadUnalignedLE32().
| static internal_key_type clang::serialization::reader::HeaderFileInfoTrait::ReadKey | ( | const unsigned char * | d, |
| unsigned | |||
| ) | [inline, static] |
Definition at line 225 of file ASTReaderInternals.h.
| std::pair< unsigned, unsigned > HeaderFileInfoTrait::ReadKeyDataLength | ( | const unsigned char *& | d | ) | [static] |
Definition at line 1410 of file ASTReader.cpp.
References clang::io::ReadUnalignedLE16().