clang  6.0.0svn
Public Member Functions | Public Attributes | List of all members
clang::serialization::ModuleFile Class Reference

Information about a module that has been loaded by the ASTReader. More...

#include "clang/Serialization/Module.h"

Collaboration diagram for clang::serialization::ModuleFile:
Collaboration graph
[legend]

Public Member Functions

 ModuleFile (ModuleKind Kind, unsigned Generation)
 
 ~ModuleFile ()
 
std::string getTimestampFilename () const
 
bool isDirectlyImported () const
 Determine whether this module was directly imported at any point during translation. More...
 
bool isModule () const
 Is this a module file for a module (rather than a PCH or similar). More...
 
void dump ()
 Dump debugging output for this module. More...
 

Public Attributes

unsigned Index = 0
 The index of this module in the list of modules. More...
 
ModuleKind Kind
 The type of this module. More...
 
std::string FileName
 The file name of the module file. More...
 
std::string ModuleName
 The name of the module. More...
 
std::string BaseDirectory
 The base directory of the module. More...
 
std::string OriginalSourceFileName
 The original source file name that was used to build the primary AST file, which may have been modified for relocatable-pch support. More...
 
std::string ActualOriginalSourceFileName
 The actual original source file name that was used to build this AST file. More...
 
FileID OriginalSourceFileID
 The file ID for the original source file that was used to build this AST file. More...
 
std::string OriginalDir
 The directory that the PCH was originally created in. More...
 
std::string ModuleMapPath
 
bool RelocatablePCH = false
 Whether this precompiled header is a relocatable PCH file. More...
 
bool HasTimestamps = false
 Whether timestamps are included in this module file. More...
 
const FileEntryFile = nullptr
 The file entry for the module file. More...
 
ASTFileSignature Signature
 The signature of the module file, which may be used instead of the size and modification time to identify this particular file. More...
 
bool DirectlyImported = false
 Whether this module has been directly imported by the user. More...
 
unsigned Generation
 The generation of which this module file is a part. More...
 
llvm::MemoryBuffer * Buffer
 The memory buffer that stores the data associated with this AST file, owned by the PCMCache in the ModuleManager. More...
 
uint64_t SizeInBits = 0
 The size of this file, in bits. More...
 
uint64_t GlobalBitOffset = 0
 The global bit offset (or base) of this module. More...
 
StringRef Data
 The serialized bitstream data for this file. More...
 
llvm::BitstreamCursor Stream
 The main bitstream cursor for the main block. More...
 
SourceLocation DirectImportLoc
 The source location where the module was explicitly or implicitly imported in the local translation unit. More...
 
SourceLocation ImportLoc
 The source location where this module was first imported. More...
 
SourceLocation FirstLoc
 The first source location in this module. More...
 
std::vector< std::unique_ptr< ModuleFileExtensionReader > > ExtensionReaders
 The list of extension readers that are attached to this module file. More...
 
StringRef ModuleOffsetMap
 The module offset map data for this file. More...
 
llvm::BitstreamCursor InputFilesCursor
 The cursor to the start of the input-files block. More...
 
const llvm::support::unaligned_uint64_t * InputFileOffsets = nullptr
 Offsets for all of the input file entries in the AST file. More...
 
std::vector< InputFileInputFilesLoaded
 The input files that have been loaded from this AST file. More...
 
unsigned NumUserInputFiles = 0
 
uint64_t InputFilesValidationTimestamp = 0
 If non-zero, specifies the time when we last validated input files. More...
 
llvm::BitstreamCursor SLocEntryCursor
 Cursor used to read source location entries. More...
 
unsigned LocalNumSLocEntries = 0
 The number of source location entries in this AST file. More...
 
int SLocEntryBaseID = 0
 The base ID in the source manager's view of this module. More...
 
unsigned SLocEntryBaseOffset = 0
 The base offset in the source manager's view of this module. More...
 
const uint32_t * SLocEntryOffsets = nullptr
 Offsets for all of the source location entries in the AST file. More...
 
SmallVector< uint64_t, 4 > PreloadSLocEntries
 SLocEntries that we're going to preload. More...
 
ContinuousRangeMap< uint32_t, int, 2 > SLocRemap
 Remapping table for source locations in this module. More...
 
unsigned LocalNumIdentifiers = 0
 The number of identifiers in this AST file. More...
 
const uint32_t * IdentifierOffsets = nullptr
 Offsets into the identifier table data. More...
 
serialization::IdentID BaseIdentifierID = 0
 Base identifier ID for identifiers local to this module. More...
 
ContinuousRangeMap< uint32_t, int, 2 > IdentifierRemap
 Remapping table for identifier IDs in this module. More...
 
const char * IdentifierTableData = nullptr
 Actual data for the on-disk hash table of identifiers. More...
 
void * IdentifierLookupTable = nullptr
 A pointer to an on-disk hash table of opaque type IdentifierHashTable. More...
 
std::vector< unsigned > PreloadIdentifierOffsets
 Offsets of identifiers that we're going to preload within IdentifierTableData. More...
 
llvm::BitstreamCursor MacroCursor
 The cursor to the start of the preprocessor block, which stores all of the macro definitions. More...
 
unsigned LocalNumMacros = 0
 The number of macros in this AST file. More...
 
const uint32_t * MacroOffsets = nullptr
 Offsets of macros in the preprocessor block. More...
 
serialization::MacroID BaseMacroID = 0
 Base macro ID for macros local to this module. More...
 
ContinuousRangeMap< uint32_t, int, 2 > MacroRemap
 Remapping table for macro IDs in this module. More...
 
uint64_t MacroStartOffset = 0
 The offset of the start of the set of defined macros. More...
 
llvm::BitstreamCursor PreprocessorDetailCursor
 The cursor to the start of the (optional) detailed preprocessing record block. More...
 
uint64_t PreprocessorDetailStartOffset = 0
 The offset of the start of the preprocessor detail cursor. More...
 
serialization::PreprocessedEntityID BasePreprocessedEntityID = 0
 Base preprocessed entity ID for preprocessed entities local to this module. More...
 
ContinuousRangeMap< uint32_t, int, 2 > PreprocessedEntityRemap
 Remapping table for preprocessed entity IDs in this module. More...
 
const PPEntityOffsetPreprocessedEntityOffsets = nullptr
 
unsigned NumPreprocessedEntities = 0
 
unsigned LocalNumHeaderFileInfos = 0
 The number of local HeaderFileInfo structures. More...
 
const char * HeaderFileInfoTableData = nullptr
 Actual data for the on-disk hash table of header file information. More...
 
void * HeaderFileInfoTable = nullptr
 The on-disk hash table that contains information about each of the header files. More...
 
unsigned LocalNumSubmodules = 0
 The number of submodules in this module. More...
 
serialization::SubmoduleID BaseSubmoduleID = 0
 Base submodule ID for submodules local to this module. More...
 
ContinuousRangeMap< uint32_t, int, 2 > SubmoduleRemap
 Remapping table for submodule IDs in this module. More...
 
unsigned LocalNumSelectors = 0
 The number of selectors new to this file. More...
 
const uint32_t * SelectorOffsets = nullptr
 Offsets into the selector lookup table's data array where each selector resides. More...
 
serialization::SelectorID BaseSelectorID = 0
 Base selector ID for selectors local to this module. More...
 
ContinuousRangeMap< uint32_t, int, 2 > SelectorRemap
 Remapping table for selector IDs in this module. More...
 
const unsigned char * SelectorLookupTableData = nullptr
 A pointer to the character data that comprises the selector table. More...
 
void * SelectorLookupTable = nullptr
 A pointer to an on-disk hash table of opaque type ASTSelectorLookupTable. More...
 
llvm::BitstreamCursor DeclsCursor
 DeclsCursor - This is a cursor to the start of the DECLS_BLOCK block. More...
 
unsigned LocalNumDecls = 0
 The number of declarations in this AST file. More...
 
const DeclOffsetDeclOffsets = nullptr
 Offset of each declaration within the bitstream, indexed by the declaration ID (-1). More...
 
serialization::DeclID BaseDeclID = 0
 Base declaration ID for declarations local to this module. More...
 
ContinuousRangeMap< uint32_t, int, 2 > DeclRemap
 Remapping table for declaration IDs in this module. More...
 
llvm::DenseMap< ModuleFile *, serialization::DeclIDGlobalToLocalDeclIDs
 Mapping from the module files that this module file depends on to the base declaration ID for that module as it is understood within this module. More...
 
const serialization::DeclIDFileSortedDecls = nullptr
 Array of file-level DeclIDs sorted by file. More...
 
unsigned NumFileSortedDecls = 0
 
const serialization::ObjCCategoriesInfoObjCCategoriesMap = nullptr
 Array of category list location information within this module file, sorted by the definition ID. More...
 
unsigned LocalNumObjCCategoriesInMap = 0
 The number of redeclaration info entries in ObjCCategoriesMap. More...
 
SmallVector< uint64_t, 1 > ObjCCategories
 The Objective-C category lists for categories known to this module. More...
 
unsigned LocalNumTypes = 0
 The number of types in this AST file. More...
 
const uint32_t * TypeOffsets = nullptr
 Offset of each type within the bitstream, indexed by the type ID, or the representation of a Type*. More...
 
serialization::TypeID BaseTypeIndex = 0
 Base type ID for types local to this module as represented in the global type ID space. More...
 
ContinuousRangeMap< uint32_t, int, 2 > TypeRemap
 Remapping table for type IDs in this module. More...
 
SmallVector< uint64_t, 8 > PragmaDiagMappings
 Diagnostic IDs and their mappings that the user changed. More...
 
llvm::SetVector< ModuleFile * > ImportedBy
 List of modules which depend on this module. More...
 
llvm::SetVector< ModuleFile * > Imports
 List of modules which this module depends on. More...
 

Detailed Description

Information about a module that has been loaded by the ASTReader.

Each instance of the Module class corresponds to a single AST file, which may be a precompiled header, precompiled preamble, a module, or an AST file of some sort loaded as the main file, all of which are specific formulations of the general notion of a "module". A module may depend on any number of other modules.

Definition at line 100 of file Module.h.

Constructor & Destructor Documentation

◆ ModuleFile()

clang::serialization::ModuleFile::ModuleFile ( ModuleKind  Kind,
unsigned  Generation 
)
inline

Definition at line 102 of file Module.h.

◆ ~ModuleFile()

ModuleFile::~ModuleFile ( )

Definition at line 22 of file Module.cpp.

Member Function Documentation

◆ dump()

LLVM_DUMP_METHOD void ModuleFile::dump ( )

Dump debugging output for this module.

Definition at line 43 of file Module.cpp.

Referenced by clang::ASTReader::dump().

◆ getTimestampFilename()

std::string clang::serialization::ModuleFile::getTimestampFilename ( ) const
inline

Definition at line 123 of file Module.h.

Referenced by updateModuleTimestamp().

◆ isDirectlyImported()

bool clang::serialization::ModuleFile::isDirectlyImported ( ) const
inline

Determine whether this module was directly imported at any point during translation.

Definition at line 455 of file Module.h.

◆ isModule()

bool clang::serialization::ModuleFile::isModule ( ) const
inline

Member Data Documentation

◆ ActualOriginalSourceFileName

std::string clang::serialization::ModuleFile::ActualOriginalSourceFileName

The actual original source file name that was used to build this AST file.

Definition at line 134 of file Module.h.

◆ BaseDeclID

serialization::DeclID clang::serialization::ModuleFile::BaseDeclID = 0

Base declaration ID for declarations local to this module.

Definition at line 397 of file Module.h.

Referenced by clang::ASTReader::isDeclIDFromModule().

◆ BaseDirectory

std::string clang::serialization::ModuleFile::BaseDirectory

The base directory of the module.

Definition at line 121 of file Module.h.

Referenced by clang::ASTReader::ResolveImportedPath().

◆ BaseIdentifierID

serialization::IdentID clang::serialization::ModuleFile::BaseIdentifierID = 0

Base identifier ID for identifiers local to this module.

Definition at line 264 of file Module.h.

◆ BaseMacroID

serialization::MacroID clang::serialization::ModuleFile::BaseMacroID = 0

Base macro ID for macros local to this module.

Definition at line 300 of file Module.h.

◆ BasePreprocessedEntityID

serialization::PreprocessedEntityID clang::serialization::ModuleFile::BasePreprocessedEntityID = 0

Base preprocessed entity ID for preprocessed entities local to this module.

Definition at line 319 of file Module.h.

◆ BaseSelectorID

serialization::SelectorID clang::serialization::ModuleFile::BaseSelectorID = 0

Base selector ID for selectors local to this module.

Definition at line 365 of file Module.h.

◆ BaseSubmoduleID

serialization::SubmoduleID clang::serialization::ModuleFile::BaseSubmoduleID = 0

Base submodule ID for submodules local to this module.

Definition at line 348 of file Module.h.

Referenced by clang::ASTReader::getModuleFileID().

◆ BaseTypeIndex

serialization::TypeID clang::serialization::ModuleFile::BaseTypeIndex = 0

Base type ID for types local to this module as represented in the global type ID space.

Definition at line 437 of file Module.h.

◆ Buffer

llvm::MemoryBuffer* clang::serialization::ModuleFile::Buffer

The memory buffer that stores the data associated with this AST file, owned by the PCMCache in the ModuleManager.

Definition at line 168 of file Module.h.

◆ Data

StringRef clang::serialization::ModuleFile::Data

The serialized bitstream data for this file.

Definition at line 177 of file Module.h.

◆ DeclOffsets

const DeclOffset* clang::serialization::ModuleFile::DeclOffsets = nullptr

Offset of each declaration within the bitstream, indexed by the declaration ID (-1).

Definition at line 394 of file Module.h.

◆ DeclRemap

ContinuousRangeMap<uint32_t, int, 2> clang::serialization::ModuleFile::DeclRemap

Remapping table for declaration IDs in this module.

Definition at line 400 of file Module.h.

◆ DeclsCursor

llvm::BitstreamCursor clang::serialization::ModuleFile::DeclsCursor

DeclsCursor - This is a cursor to the start of the DECLS_BLOCK block.

It has read all the abbreviations at the start of the block and is ready to jump around with these in context.

Definition at line 387 of file Module.h.

Referenced by clang::ASTRecordReader::readLexicalDeclContextStorage(), clang::ASTReader::ReadSubExpr(), and clang::ASTRecordReader::readVisibleDeclContextStorage().

◆ DirectImportLoc

SourceLocation clang::serialization::ModuleFile::DirectImportLoc

The source location where the module was explicitly or implicitly imported in the local translation unit.

If module A depends on and imports module B, both modules will have the same DirectImportLoc, but different ImportLoc (B's ImportLoc will be a source location inside module A).

WARNING: This is largely useless. It doesn't tell you when a module was made visible, just when the first submodule of that module was imported.

Definition at line 191 of file Module.h.

◆ DirectlyImported

bool clang::serialization::ModuleFile::DirectlyImported = false

Whether this module has been directly imported by the user.

Definition at line 161 of file Module.h.

Referenced by updateModuleImports().

◆ ExtensionReaders

std::vector<std::unique_ptr<ModuleFileExtensionReader> > clang::serialization::ModuleFile::ExtensionReaders

The list of extension readers that are attached to this module file.

Definition at line 201 of file Module.h.

Referenced by parseModuleFileExtensionMetadata().

◆ File

const FileEntry* clang::serialization::ModuleFile::File = nullptr

The file entry for the module file.

Definition at line 153 of file Module.h.

Referenced by clang::ASTUnit::getPCHFile().

◆ FileName

std::string clang::serialization::ModuleFile::FileName

The file name of the module file.

Definition at line 115 of file Module.h.

Referenced by clang::ASTUnit::getASTFileName().

◆ FileSortedDecls

const serialization::DeclID* clang::serialization::ModuleFile::FileSortedDecls = nullptr

Array of file-level DeclIDs sorted by file.

Definition at line 412 of file Module.h.

Referenced by clang::ASTReader::getModuleFileLevelDecls().

◆ FirstLoc

SourceLocation clang::serialization::ModuleFile::FirstLoc

The first source location in this module.

Definition at line 197 of file Module.h.

◆ Generation

unsigned clang::serialization::ModuleFile::Generation

The generation of which this module file is a part.

Definition at line 164 of file Module.h.

Referenced by clang::serialization::ReadMethodPoolVisitor::operator()().

◆ GlobalBitOffset

uint64_t clang::serialization::ModuleFile::GlobalBitOffset = 0

The global bit offset (or base) of this module.

Definition at line 174 of file Module.h.

◆ GlobalToLocalDeclIDs

llvm::DenseMap<ModuleFile *, serialization::DeclID> clang::serialization::ModuleFile::GlobalToLocalDeclIDs

Mapping from the module files that this module file depends on to the base declaration ID for that module as it is understood within this module.

This is effectively a reverse global-to-local mapping for declaration IDs, so that we can interpret a true global ID (for this translation unit) as a local ID (for this module file).

Definition at line 409 of file Module.h.

◆ HasTimestamps

bool clang::serialization::ModuleFile::HasTimestamps = false

Whether timestamps are included in this module file.

Definition at line 150 of file Module.h.

Referenced by clang::serialization::reader::HeaderFileInfoTrait::GetInternalKey().

◆ HeaderFileInfoTable

void* clang::serialization::ModuleFile::HeaderFileInfoTable = nullptr

The on-disk hash table that contains information about each of the header files.

Definition at line 341 of file Module.h.

Referenced by clang::ASTReader::isPreprocessedEntityInFileID().

◆ HeaderFileInfoTableData

const char* clang::serialization::ModuleFile::HeaderFileInfoTableData = nullptr

Actual data for the on-disk hash table of header file information.

This pointer points into a memory buffer, where the on-disk hash table for header file information actually lives.

Definition at line 337 of file Module.h.

◆ IdentifierLookupTable

void* clang::serialization::ModuleFile::IdentifierLookupTable = nullptr

A pointer to an on-disk hash table of opaque type IdentifierHashTable.

Definition at line 277 of file Module.h.

Referenced by clang::ASTIdentifierIterator::Next().

◆ IdentifierOffsets

const uint32_t* clang::serialization::ModuleFile::IdentifierOffsets = nullptr

Offsets into the identifier table data.

This array is indexed by the identifier ID (-1), and provides the offset into IdentifierTableData where the string data is stored.

Definition at line 261 of file Module.h.

◆ IdentifierRemap

ContinuousRangeMap<uint32_t, int, 2> clang::serialization::ModuleFile::IdentifierRemap

Remapping table for identifier IDs in this module.

Definition at line 267 of file Module.h.

◆ IdentifierTableData

const char* clang::serialization::ModuleFile::IdentifierTableData = nullptr

Actual data for the on-disk hash table of identifiers.

This pointer points into a memory buffer, where the on-disk hash table for identifiers actually lives.

Definition at line 273 of file Module.h.

◆ ImportedBy

llvm::SetVector<ModuleFile *> clang::serialization::ModuleFile::ImportedBy

List of modules which depend on this module.

Definition at line 448 of file Module.h.

Referenced by clang::ASTReader::getModuleImportLoc(), getTopImportImplicitModule(), updateModuleImports(), and clang::serialization::ModuleManager::visit().

◆ ImportLoc

SourceLocation clang::serialization::ModuleFile::ImportLoc

The source location where this module was first imported.

Definition at line 194 of file Module.h.

Referenced by clang::TestModuleFileExtension::createExtensionReader(), clang::ASTReader::getModuleImportLoc(), and updateModuleImports().

◆ Imports

llvm::SetVector<ModuleFile *> clang::serialization::ModuleFile::Imports

◆ Index

unsigned clang::serialization::ModuleFile::Index = 0

The index of this module in the list of modules.

Definition at line 109 of file Module.h.

Referenced by clang::serialization::ModuleManager::visit().

◆ InputFileOffsets

const llvm::support::unaligned_uint64_t* clang::serialization::ModuleFile::InputFileOffsets = nullptr

Offsets for all of the input file entries in the AST file.

Definition at line 212 of file Module.h.

◆ InputFilesCursor

llvm::BitstreamCursor clang::serialization::ModuleFile::InputFilesCursor

The cursor to the start of the input-files block.

Definition at line 209 of file Module.h.

◆ InputFilesLoaded

std::vector<InputFile> clang::serialization::ModuleFile::InputFilesLoaded

The input files that have been loaded from this AST file.

Definition at line 215 of file Module.h.

Referenced by clang::ASTReader::visitInputFiles(), and clang::ASTReader::visitTopLevelModuleMaps().

◆ InputFilesValidationTimestamp

uint64_t clang::serialization::ModuleFile::InputFilesValidationTimestamp = 0

If non-zero, specifies the time when we last validated input files.

Zero means we never validated them.

The time is specified in seconds since the start of the Epoch.

Definition at line 225 of file Module.h.

Referenced by isDiagnosedResult().

◆ Kind

ModuleKind clang::serialization::ModuleFile::Kind

◆ LocalNumDecls

unsigned clang::serialization::ModuleFile::LocalNumDecls = 0

The number of declarations in this AST file.

Definition at line 390 of file Module.h.

Referenced by clang::ASTReader::isDeclIDFromModule().

◆ LocalNumHeaderFileInfos

unsigned clang::serialization::ModuleFile::LocalNumHeaderFileInfos = 0

The number of local HeaderFileInfo structures.

Definition at line 330 of file Module.h.

◆ LocalNumIdentifiers

unsigned clang::serialization::ModuleFile::LocalNumIdentifiers = 0

The number of identifiers in this AST file.

Definition at line 254 of file Module.h.

◆ LocalNumMacros

unsigned clang::serialization::ModuleFile::LocalNumMacros = 0

The number of macros in this AST file.

Definition at line 290 of file Module.h.

◆ LocalNumObjCCategoriesInMap

unsigned clang::serialization::ModuleFile::LocalNumObjCCategoriesInMap = 0

The number of redeclaration info entries in ObjCCategoriesMap.

Definition at line 420 of file Module.h.

◆ LocalNumSelectors

unsigned clang::serialization::ModuleFile::LocalNumSelectors = 0

The number of selectors new to this file.

This is the number of entries in SelectorOffsets.

Definition at line 358 of file Module.h.

◆ LocalNumSLocEntries

unsigned clang::serialization::ModuleFile::LocalNumSLocEntries = 0

The number of source location entries in this AST file.

Definition at line 233 of file Module.h.

◆ LocalNumSubmodules

unsigned clang::serialization::ModuleFile::LocalNumSubmodules = 0

The number of submodules in this module.

Definition at line 345 of file Module.h.

◆ LocalNumTypes

unsigned clang::serialization::ModuleFile::LocalNumTypes = 0

The number of types in this AST file.

Definition at line 429 of file Module.h.

◆ MacroCursor

llvm::BitstreamCursor clang::serialization::ModuleFile::MacroCursor

The cursor to the start of the preprocessor block, which stores all of the macro definitions.

Definition at line 287 of file Module.h.

Referenced by clang::ASTReader::ReadMacroRecord(), and clang::ASTReader::resolvePendingMacro().

◆ MacroOffsets

const uint32_t* clang::serialization::ModuleFile::MacroOffsets = nullptr

Offsets of macros in the preprocessor block.

This array is indexed by the macro ID (-1), and provides the offset into the preprocessor block where macro definitions are stored.

Definition at line 297 of file Module.h.

◆ MacroRemap

ContinuousRangeMap<uint32_t, int, 2> clang::serialization::ModuleFile::MacroRemap

Remapping table for macro IDs in this module.

Definition at line 303 of file Module.h.

◆ MacroStartOffset

uint64_t clang::serialization::ModuleFile::MacroStartOffset = 0

The offset of the start of the set of defined macros.

Definition at line 306 of file Module.h.

◆ ModuleMapPath

std::string clang::serialization::ModuleFile::ModuleMapPath

Definition at line 144 of file Module.h.

◆ ModuleName

std::string clang::serialization::ModuleFile::ModuleName

◆ ModuleOffsetMap

StringRef clang::serialization::ModuleFile::ModuleOffsetMap

◆ NumFileSortedDecls

unsigned clang::serialization::ModuleFile::NumFileSortedDecls = 0

Definition at line 413 of file Module.h.

Referenced by clang::ASTReader::getModuleFileLevelDecls().

◆ NumPreprocessedEntities

unsigned clang::serialization::ModuleFile::NumPreprocessedEntities = 0

Definition at line 325 of file Module.h.

Referenced by clang::ASTReader::getTotalNumPreprocessedEntities().

◆ NumUserInputFiles

unsigned clang::serialization::ModuleFile::NumUserInputFiles = 0

Definition at line 219 of file Module.h.

Referenced by clang::ASTReader::visitInputFiles().

◆ ObjCCategories

SmallVector<uint64_t, 1> clang::serialization::ModuleFile::ObjCCategories

The Objective-C category lists for categories known to this module.

Definition at line 424 of file Module.h.

◆ ObjCCategoriesMap

const serialization::ObjCCategoriesInfo* clang::serialization::ModuleFile::ObjCCategoriesMap = nullptr

Array of category list location information within this module file, sorted by the definition ID.

Definition at line 417 of file Module.h.

◆ OriginalDir

std::string clang::serialization::ModuleFile::OriginalDir

The directory that the PCH was originally created in.

Used to allow resolving headers even after headers+PCH was moved to a new path.

Definition at line 142 of file Module.h.

◆ OriginalSourceFileID

FileID clang::serialization::ModuleFile::OriginalSourceFileID

The file ID for the original source file that was used to build this AST file.

Definition at line 138 of file Module.h.

Referenced by clang::ASTReader::ReadPragmaDiagnosticMappings().

◆ OriginalSourceFileName

std::string clang::serialization::ModuleFile::OriginalSourceFileName

The original source file name that was used to build the primary AST file, which may have been modified for relocatable-pch support.

Definition at line 130 of file Module.h.

Referenced by clang::ASTReader::getOriginalSourceFile(), and clang::ASTReader::getSourceDescriptor().

◆ PragmaDiagMappings

SmallVector<uint64_t, 8> clang::serialization::ModuleFile::PragmaDiagMappings

Diagnostic IDs and their mappings that the user changed.

Definition at line 445 of file Module.h.

Referenced by clang::ASTReader::ReadPragmaDiagnosticMappings().

◆ PreloadIdentifierOffsets

std::vector<unsigned> clang::serialization::ModuleFile::PreloadIdentifierOffsets

Offsets of identifiers that we're going to preload within IdentifierTableData.

Definition at line 281 of file Module.h.

◆ PreloadSLocEntries

SmallVector<uint64_t, 4> clang::serialization::ModuleFile::PreloadSLocEntries

SLocEntries that we're going to preload.

Definition at line 246 of file Module.h.

◆ PreprocessedEntityOffsets

const PPEntityOffset* clang::serialization::ModuleFile::PreprocessedEntityOffsets = nullptr

◆ PreprocessedEntityRemap

ContinuousRangeMap<uint32_t, int, 2> clang::serialization::ModuleFile::PreprocessedEntityRemap

Remapping table for preprocessed entity IDs in this module.

Definition at line 322 of file Module.h.

◆ PreprocessorDetailCursor

llvm::BitstreamCursor clang::serialization::ModuleFile::PreprocessorDetailCursor

The cursor to the start of the (optional) detailed preprocessing record block.

Definition at line 312 of file Module.h.

Referenced by clang::ASTReader::ReadPreprocessedEntity().

◆ PreprocessorDetailStartOffset

uint64_t clang::serialization::ModuleFile::PreprocessorDetailStartOffset = 0

The offset of the start of the preprocessor detail cursor.

Definition at line 315 of file Module.h.

◆ RelocatablePCH

bool clang::serialization::ModuleFile::RelocatablePCH = false

Whether this precompiled header is a relocatable PCH file.

Definition at line 147 of file Module.h.

◆ SelectorLookupTable

void* clang::serialization::ModuleFile::SelectorLookupTable = nullptr

A pointer to an on-disk hash table of opaque type ASTSelectorLookupTable.

This hash table provides the IDs of all selectors, and the associated instance and factory methods.

Definition at line 380 of file Module.h.

Referenced by clang::serialization::ReadMethodPoolVisitor::operator()().

◆ SelectorLookupTableData

const unsigned char* clang::serialization::ModuleFile::SelectorLookupTableData = nullptr

A pointer to the character data that comprises the selector table.

The SelectorOffsets table refers into this memory.

Definition at line 373 of file Module.h.

◆ SelectorOffsets

const uint32_t* clang::serialization::ModuleFile::SelectorOffsets = nullptr

Offsets into the selector lookup table's data array where each selector resides.

Definition at line 362 of file Module.h.

◆ SelectorRemap

ContinuousRangeMap<uint32_t, int, 2> clang::serialization::ModuleFile::SelectorRemap

Remapping table for selector IDs in this module.

Definition at line 368 of file Module.h.

◆ Signature

ASTFileSignature clang::serialization::ModuleFile::Signature

The signature of the module file, which may be used instead of the size and modification time to identify this particular file.

Definition at line 157 of file Module.h.

◆ SizeInBits

uint64_t clang::serialization::ModuleFile::SizeInBits = 0

The size of this file, in bits.

Definition at line 171 of file Module.h.

◆ SLocEntryBaseID

int clang::serialization::ModuleFile::SLocEntryBaseID = 0

The base ID in the source manager's view of this module.

Definition at line 236 of file Module.h.

◆ SLocEntryBaseOffset

unsigned clang::serialization::ModuleFile::SLocEntryBaseOffset = 0

The base offset in the source manager's view of this module.

Definition at line 239 of file Module.h.

◆ SLocEntryCursor

llvm::BitstreamCursor clang::serialization::ModuleFile::SLocEntryCursor

Cursor used to read source location entries.

Definition at line 230 of file Module.h.

◆ SLocEntryOffsets

const uint32_t* clang::serialization::ModuleFile::SLocEntryOffsets = nullptr

Offsets for all of the source location entries in the AST file.

Definition at line 243 of file Module.h.

◆ SLocRemap

ContinuousRangeMap<uint32_t, int, 2> clang::serialization::ModuleFile::SLocRemap

Remapping table for source locations in this module.

Definition at line 249 of file Module.h.

Referenced by clang::ASTReader::TranslateSourceLocation().

◆ Stream

llvm::BitstreamCursor clang::serialization::ModuleFile::Stream

The main bitstream cursor for the main block.

Definition at line 180 of file Module.h.

Referenced by clang::ASTReader::isAcceptableASTFile(), isDiagnosedResult(), and parseModuleFileExtensionMetadata().

◆ SubmoduleRemap

ContinuousRangeMap<uint32_t, int, 2> clang::serialization::ModuleFile::SubmoduleRemap

Remapping table for submodule IDs in this module.

Definition at line 351 of file Module.h.

◆ TypeOffsets

const uint32_t* clang::serialization::ModuleFile::TypeOffsets = nullptr

Offset of each type within the bitstream, indexed by the type ID, or the representation of a Type*.

Definition at line 433 of file Module.h.

◆ TypeRemap

ContinuousRangeMap<uint32_t, int, 2> clang::serialization::ModuleFile::TypeRemap

Remapping table for type IDs in this module.

Definition at line 440 of file Module.h.


The documentation for this class was generated from the following files: