class HeaderFileInfoTrait

Declaration

class HeaderFileInfoTrait { /* full declaration omitted */ };

Description

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.

Declared at: clang/lib/Serialization/ASTReaderInternals.h:243

Member Variables

private clang::ASTReader& Reader
private clang::serialization::ModuleFile& M
private clang::HeaderSearch* HS
private const char* FrameworkStrings

Method Overview

  • public static clang::serialization::reader::HeaderFileInfoTrait::hash_value_type ComputeHash(clang::serialization::reader::HeaderFileInfoTrait::internal_key_ref ikey)
  • public bool EqualKey(clang::serialization::reader::HeaderFileInfoTrait::internal_key_ref a, clang::serialization::reader::HeaderFileInfoTrait::internal_key_ref b)
  • public clang::serialization::reader::HeaderFileInfoTrait::internal_key_type GetInternalKey(const clang::FileEntry * FE)
  • public HeaderFileInfoTrait(clang::ASTReader & Reader, clang::serialization::ModuleFile & M, clang::HeaderSearch * HS, const char * FrameworkStrings)
  • public clang::serialization::reader::HeaderFileInfoTrait::data_type ReadData(clang::serialization::reader::HeaderFileInfoTrait::internal_key_ref, const unsigned char * d, unsigned int DataLen)
  • public static clang::serialization::reader::HeaderFileInfoTrait::internal_key_type ReadKey(const unsigned char * d, unsigned int)
  • public static std::pair<unsigned int, unsigned int> ReadKeyDataLength(const unsigned char *& d)

Methods

static clang::serialization::reader::
    HeaderFileInfoTrait::hash_value_type
    ComputeHash(
        clang::serialization::reader::
            HeaderFileInfoTrait::internal_key_ref
                ikey)

Declared at: clang/lib/Serialization/ASTReaderInternals.h:269

Parameters

clang::serialization::reader:: HeaderFileInfoTrait::internal_key_ref ikey

bool EqualKey(
    clang::serialization::reader::
        HeaderFileInfoTrait::internal_key_ref a,
    clang::serialization::reader::
        HeaderFileInfoTrait::internal_key_ref b)

Declared at: clang/lib/Serialization/ASTReaderInternals.h:271

Parameters

clang::serialization::reader:: HeaderFileInfoTrait::internal_key_ref a
clang::serialization::reader:: HeaderFileInfoTrait::internal_key_ref b

clang::serialization::reader::
    HeaderFileInfoTrait::internal_key_type
    GetInternalKey(const clang::FileEntry* FE)

Declared at: clang/lib/Serialization/ASTReaderInternals.h:270

Parameters

const clang::FileEntry* FE

HeaderFileInfoTrait(
    clang::ASTReader& Reader,
    clang::serialization::ModuleFile& M,
    clang::HeaderSearch* HS,
    const char* FrameworkStrings)

Declared at: clang/lib/Serialization/ASTReaderInternals.h:265

Parameters

clang::ASTReader& Reader
clang::serialization::ModuleFile& M
clang::HeaderSearch* HS
const char* FrameworkStrings

clang::serialization::reader::
    HeaderFileInfoTrait::data_type
    ReadData(
        clang::serialization::reader::
            HeaderFileInfoTrait::internal_key_ref,
        const unsigned char* d,
        unsigned int DataLen)

Declared at: clang/lib/Serialization/ASTReaderInternals.h:278

Parameters

clang::serialization::reader:: HeaderFileInfoTrait::internal_key_ref
const unsigned char* d
unsigned int DataLen

static clang::serialization::reader::
    HeaderFileInfoTrait::internal_key_type
    ReadKey(const unsigned char* d, unsigned int)

Declared at: clang/lib/Serialization/ASTReaderInternals.h:276

Parameters

const unsigned char* d
unsigned int

static std::pair<unsigned int, unsigned int>
ReadKeyDataLength(const unsigned char*& d)

Declared at: clang/lib/Serialization/ASTReaderInternals.h:274

Parameters

const unsigned char*& d