|
clang 23.0.0git
|
Information about a module that has been loaded by the ASTReader. More...
#include "clang/Serialization/ModuleFile.h"
Public Member Functions | |
| ModuleFile (ModuleKind Kind, ModuleFileKey FileKey, FileEntryRef File, unsigned Generation) | |
| ~ModuleFile () | |
| bool | isDirectlyImported () const |
| Determine whether this module was directly imported at any point during translation. | |
| bool | isModule () const |
| Is this a module file for a module (rather than a PCH or similar). | |
| void | dump () |
| Dump debugging output for this module. | |
Static Public Member Functions | |
| static std::string | getTimestampFilename (StringRef FileName) |
Public Attributes | |
| unsigned | Index = 0 |
| The index of this module in the list of modules. | |
| ModuleKind | Kind |
| The type of this module. | |
| ModuleFileName | FileName |
| The file name of the module file. | |
| ModuleFileKey | FileKey |
| The key ModuleManager used for the module file. | |
| std::string | ModuleName |
| The name of the module. | |
| std::string | BaseDirectory |
| The base directory of the module. | |
| 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. | |
| std::string | ActualOriginalSourceFileName |
| The actual original source file name that was used to build this AST file. | |
| FileID | OriginalSourceFileID |
| The file ID for the original source file that was used to build this AST file. | |
| std::string | ModuleMapPath |
| bool | RelocatablePCH = false |
| Whether this precompiled header is a relocatable PCH file. | |
| bool | StandardCXXModule = false |
| Whether this module file is a standard C++ module. | |
| bool | HasTimestamps = false |
| Whether timestamps are included in this module file. | |
| bool | DidReadTopLevelSubmodule = false |
| Whether the top-level module has been read from the AST file. | |
| FileEntryRef | File |
| The file entry for the module file. | |
| ASTFileSignature | Signature |
| The signature of the module file, which may be used instead of the size and modification time to identify this particular file. | |
| ASTFileSignature | ASTBlockHash |
| The signature of the AST block of the module file, this can be used to unique module files based on AST contents. | |
| llvm::BitVector | SearchPathUsage |
| The bit vector denoting usage of each header search entry (true = used). | |
| llvm::BitVector | VFSUsage |
| The bit vector denoting usage of each VFS entry (true = used). | |
| bool | DirectlyImported = false |
| Whether this module has been directly imported by the user. | |
| unsigned | Generation |
| The generation of which this module file is a part. | |
| llvm::MemoryBuffer * | Buffer = nullptr |
| The memory buffer that stores the data associated with this AST file, owned by the InMemoryModuleCache. | |
| uint64_t | SizeInBits = 0 |
| The size of this file, in bits. | |
| uint64_t | GlobalBitOffset = 0 |
| The global bit offset (or base) of this module. | |
| uint64_t | ASTBlockStartOffset = 0 |
| The bit offset of the AST block of this module. | |
| StringRef | Data |
| The serialized bitstream data for this file. | |
| llvm::BitstreamCursor | Stream |
| The main bitstream cursor for the main block. | |
| SourceLocation | DirectImportLoc |
| The source location where the module was explicitly or implicitly imported in the local translation unit. | |
| SourceLocation | ImportLoc |
| The source location where this module was first imported. | |
| SourceLocation | FirstLoc |
| The first source location in this module. | |
| std::vector< std::unique_ptr< ModuleFileExtensionReader > > | ExtensionReaders |
| The list of extension readers that are attached to this module file. | |
| StringRef | ModuleOffsetMap |
| The module offset map data for this file. | |
| llvm::BitstreamCursor | InputFilesCursor |
| The cursor to the start of the input-files block. | |
| uint64_t | InputFilesOffsetBase = 0 |
| Absolute offset of the start of the input-files block. | |
| const llvm::support::unaligned_uint64_t * | InputFileOffsets = nullptr |
| Relative offsets for all of the input file entries in the AST file. | |
| std::vector< InputFile > | InputFilesLoaded |
| The input files that have been loaded from this AST file. | |
| std::vector< InputFileInfo > | InputFileInfosLoaded |
| The input file infos that have been loaded from this AST file. | |
| unsigned | NumUserInputFiles = 0 |
| uint64_t | InputFilesValidationTimestamp = 0 |
| If non-zero, specifies the time when we last validated input files. | |
| InputFilesValidation | InputFilesValidationStatus |
| Captures the high-level result of validating input files. | |
| llvm::BitstreamCursor | SLocEntryCursor |
| Cursor used to read source location entries. | |
| uint64_t | SourceManagerBlockStartOffset = 0 |
| The bit offset to the start of the SOURCE_MANAGER_BLOCK. | |
| unsigned | LocalNumSLocEntries = 0 |
| The number of source location entries in this AST file. | |
| int | SLocEntryBaseID = 0 |
| The base ID in the source manager's view of this module. | |
| SourceLocation::UIntTy | SLocEntryBaseOffset = 0 |
| The base offset in the source manager's view of this module. | |
| uint64_t | SLocEntryOffsetsBase = 0 |
| Base file offset for the offsets in SLocEntryOffsets. | |
| const uint32_t * | SLocEntryOffsets = nullptr |
| Offsets for all of the source location entries in the AST file. | |
| unsigned | LocalNumIdentifiers = 0 |
| The number of identifiers in this AST file. | |
| const uint32_t * | IdentifierOffsets = nullptr |
| Offsets into the identifier table data. | |
| serialization::IdentifierID | BaseIdentifierID = 0 |
| Base identifier ID for identifiers local to this module. | |
| const unsigned char * | IdentifierTableData = nullptr |
| Actual data for the on-disk hash table of identifiers. | |
| void * | IdentifierLookupTable = nullptr |
| A pointer to an on-disk hash table of opaque type IdentifierHashTable. | |
| std::vector< unsigned > | PreloadIdentifierOffsets |
| Offsets of identifiers that we're going to preload within IdentifierTableData. | |
| llvm::BitstreamCursor | MacroCursor |
| The cursor to the start of the preprocessor block, which stores all of the macro definitions. | |
| unsigned | LocalNumMacros = 0 |
| The number of macros in this AST file. | |
| uint64_t | MacroOffsetsBase = 0 |
| Base file offset for the offsets in MacroOffsets. | |
| const uint32_t * | MacroOffsets = nullptr |
| Offsets of macros in the preprocessor block. | |
| serialization::MacroID | BaseMacroID = 0 |
| Base macro ID for macros local to this module. | |
| uint64_t | MacroStartOffset = 0 |
| The offset of the start of the set of defined macros. | |
| llvm::BitstreamCursor | PreprocessorDetailCursor |
| The cursor to the start of the (optional) detailed preprocessing record block. | |
| uint64_t | PreprocessorDetailStartOffset = 0 |
| The offset of the start of the preprocessor detail cursor. | |
| serialization::PreprocessedEntityID | BasePreprocessedEntityID = 0 |
| Base preprocessed entity ID for preprocessed entities local to this module. | |
| const PPEntityOffset * | PreprocessedEntityOffsets = nullptr |
| unsigned | NumPreprocessedEntities = 0 |
| unsigned | BasePreprocessedSkippedRangeID = 0 |
| Base ID for preprocessed skipped ranges local to this module. | |
| const PPSkippedRange * | PreprocessedSkippedRangeOffsets = nullptr |
| unsigned | NumPreprocessedSkippedRanges = 0 |
| unsigned | LocalNumHeaderFileInfos = 0 |
| The number of local HeaderFileInfo structures. | |
| const char * | HeaderFileInfoTableData = nullptr |
| Actual data for the on-disk hash table of header file information. | |
| void * | HeaderFileInfoTable = nullptr |
| The on-disk hash table that contains information about each of the header files. | |
| unsigned | LocalNumSubmodules = 0 |
| The number of submodules in this module. | |
| serialization::SubmoduleID | BaseSubmoduleID = 0 |
| Base submodule ID for submodules local to this module. | |
| ContinuousRangeMap< uint32_t, int, 2 > | SubmoduleRemap |
| Remapping table for submodule IDs in this module. | |
| unsigned | LocalNumSelectors = 0 |
| The number of selectors new to this file. | |
| const uint32_t * | SelectorOffsets = nullptr |
| Offsets into the selector lookup table's data array where each selector resides. | |
| serialization::SelectorID | BaseSelectorID = 0 |
| Base selector ID for selectors local to this module. | |
| ContinuousRangeMap< uint32_t, int, 2 > | SelectorRemap |
| Remapping table for selector IDs in this module. | |
| const unsigned char * | SelectorLookupTableData = nullptr |
| A pointer to the character data that comprises the selector table. | |
| void * | SelectorLookupTable = nullptr |
| A pointer to an on-disk hash table of opaque type ASTSelectorLookupTable. | |
| llvm::BitstreamCursor | DeclsCursor |
| DeclsCursor - This is a cursor to the start of the DECLTYPES_BLOCK block. | |
| uint64_t | DeclsBlockStartOffset = 0 |
| The offset to the start of the DECLTYPES_BLOCK block. | |
| unsigned | LocalNumDecls = 0 |
| The number of declarations in this AST file. | |
| const DeclOffset * | DeclOffsets = nullptr |
| Offset of each declaration within the bitstream, indexed by the declaration ID (-1). | |
| unsigned | BaseDeclIndex = 0 |
| Base declaration index in ASTReader for declarations local to this module. | |
| const serialization::unaligned_decl_id_t * | FileSortedDecls = nullptr |
| Array of file-level DeclIDs sorted by file. | |
| unsigned | NumFileSortedDecls = 0 |
| const serialization::ObjCCategoriesInfo * | ObjCCategoriesMap = nullptr |
| Array of category list location information within this module file, sorted by the definition ID. | |
| unsigned | LocalNumObjCCategoriesInMap = 0 |
| The number of redeclaration info entries in ObjCCategoriesMap. | |
| SmallVector< uint64_t, 1 > | ObjCCategories |
| The Objective-C category lists for categories known to this module. | |
| unsigned | LocalNumTypes = 0 |
| The number of types in this AST file. | |
| const UnalignedUInt64 * | TypeOffsets = nullptr |
| Offset of each type within the bitstream, indexed by the type ID, or the representation of a Type*. | |
| serialization::TypeID | BaseTypeIndex = 0 |
| Base type ID for types local to this module as represented in the global type ID space. | |
| SmallVector< uint64_t, 8 > | PragmaDiagMappings |
| Diagnostic IDs and their mappings that the user changed. | |
| llvm::SetVector< ModuleFile * > | ImportedBy |
| List of modules which depend on this module. | |
| llvm::SetVector< ModuleFile * > | Imports |
| List of modules which this module directly imported. | |
| llvm::SmallVector< ModuleFile *, 16 > | TransitiveImports |
| List of modules which this modules dependent on. | |
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 145 of file ModuleFile.h.
|
inline |
Definition at line 147 of file ModuleFile.h.
References File, FileKey, Generation, and Kind.
| ModuleFile::~ModuleFile | ( | ) |
Definition at line 25 of file ModuleFile.cpp.
References HeaderFileInfoTable, IdentifierLookupTable, and SelectorLookupTable.
| LLVM_DUMP_METHOD void ModuleFile::dump | ( | ) |
Dump debugging output for this module.
Definition at line 47 of file ModuleFile.cpp.
References BaseDeclIndex, BaseIdentifierID, BaseMacroID, BasePreprocessedEntityID, BaseSelectorID, BaseSubmoduleID, BaseTypeIndex, dumpLocalRemap(), FileName, Imports, LocalNumDecls, LocalNumIdentifiers, LocalNumMacros, LocalNumSelectors, LocalNumSubmodules, LocalNumTypes, NumPreprocessedEntities, SelectorRemap, SLocEntryBaseOffset, and SubmoduleRemap.
Referenced by clang::ASTReader::dump().
|
inlinestatic |
Definition at line 173 of file ModuleFile.h.
References FileName.
|
inline |
Determine whether this module was directly imported at any point during translation.
Definition at line 534 of file ModuleFile.h.
References DirectlyImported.
|
inline |
Is this a module file for a module (rather than a PCH or similar).
Definition at line 537 of file ModuleFile.h.
References Kind, clang::serialization::MK_ExplicitModule, clang::serialization::MK_ImplicitModule, and clang::serialization::MK_PrebuiltModule.
Referenced by clang::ASTReader::getModuleFileID(), clang::ASTReader::getModuleImportLoc(), clang::ASTIdentifierIterator::Next(), clang::ASTReader::ReadAST(), clang::ASTReader::ReadPragmaDiagnosticMappings(), clang::ASTReader::ReadSLocEntry(), clang::ASTReader::resolvePendingMacro(), and clang::RewriteIncludesAction::RewriteImportsListener::visitModuleFile().
| std::string clang::serialization::ModuleFile::ActualOriginalSourceFileName |
The actual original source file name that was used to build this AST file.
Definition at line 184 of file ModuleFile.h.
| ASTFileSignature clang::serialization::ModuleFile::ASTBlockHash |
The signature of the AST block of the module file, this can be used to unique module files based on AST contents.
Definition at line 213 of file ModuleFile.h.
| uint64_t clang::serialization::ModuleFile::ASTBlockStartOffset = 0 |
The bit offset of the AST block of this module.
Definition at line 239 of file ModuleFile.h.
| unsigned clang::serialization::ModuleFile::BaseDeclIndex = 0 |
Base declaration index in ASTReader for declarations local to this module.
Definition at line 483 of file ModuleFile.h.
Referenced by dump().
| std::string clang::serialization::ModuleFile::BaseDirectory |
The base directory of the module.
Definition at line 171 of file ModuleFile.h.
Referenced by clang::ASTReader::ReadPath(), clang::ASTReader::ResolveImportedPath(), and clang::ASTReader::ResolveImportedPathAndAllocate().
| serialization::IdentifierID clang::serialization::ModuleFile::BaseIdentifierID = 0 |
Base identifier ID for identifiers local to this module.
Definition at line 345 of file ModuleFile.h.
Referenced by clang::ASTReader::DecodeIdentifierInfo(), and dump().
| serialization::MacroID clang::serialization::ModuleFile::BaseMacroID = 0 |
Base macro ID for macros local to this module.
Definition at line 382 of file ModuleFile.h.
Referenced by dump(), and clang::ASTReader::getMacro().
| serialization::PreprocessedEntityID clang::serialization::ModuleFile::BasePreprocessedEntityID = 0 |
Base preprocessed entity ID for preprocessed entities local to this module.
Definition at line 398 of file ModuleFile.h.
Referenced by dump().
| unsigned clang::serialization::ModuleFile::BasePreprocessedSkippedRangeID = 0 |
Base ID for preprocessed skipped ranges local to this module.
Definition at line 404 of file ModuleFile.h.
Referenced by clang::ASTReader::ReadSkippedRange().
| serialization::SelectorID clang::serialization::ModuleFile::BaseSelectorID = 0 |
Base selector ID for selectors local to this module.
Definition at line 448 of file ModuleFile.h.
Referenced by clang::ASTReader::DecodeSelector(), and dump().
| serialization::SubmoduleID clang::serialization::ModuleFile::BaseSubmoduleID = 0 |
Base submodule ID for submodules local to this module.
Definition at line 431 of file ModuleFile.h.
Referenced by dump(), and clang::ASTReader::getModuleFileID().
| 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 511 of file ModuleFile.h.
Referenced by dump().
| llvm::MemoryBuffer* clang::serialization::ModuleFile::Buffer = nullptr |
The memory buffer that stores the data associated with this AST file, owned by the InMemoryModuleCache.
Definition at line 230 of file ModuleFile.h.
| StringRef clang::serialization::ModuleFile::Data |
The serialized bitstream data for this file.
Definition at line 242 of file ModuleFile.h.
| const DeclOffset* clang::serialization::ModuleFile::DeclOffsets = nullptr |
Offset of each declaration within the bitstream, indexed by the declaration ID (-1).
Definition at line 480 of file ModuleFile.h.
| uint64_t clang::serialization::ModuleFile::DeclsBlockStartOffset = 0 |
The offset to the start of the DECLTYPES_BLOCK block.
Definition at line 473 of file ModuleFile.h.
| llvm::BitstreamCursor clang::serialization::ModuleFile::DeclsCursor |
DeclsCursor - This is a cursor to the start of the DECLTYPES_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 470 of file ModuleFile.h.
Referenced by clang::ASTReader::GetExternalCXXBaseSpecifiers(), clang::ASTReader::GetExternalCXXCtorInitializers(), and clang::ASTReader::GetExternalDeclStmt().
Whether the top-level module has been read from the AST file.
Definition at line 202 of file ModuleFile.h.
Referenced by clang::ASTReader::ReadAST().
| 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 256 of file ModuleFile.h.
Referenced by clang::ASTReader::ReadAST().
Whether this module has been directly imported by the user.
Definition at line 223 of file ModuleFile.h.
Referenced by isDirectlyImported(), and updateModuleImports().
| 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 266 of file ModuleFile.h.
| FileEntryRef clang::serialization::ModuleFile::File |
The file entry for the module file.
Definition at line 205 of file ModuleFile.h.
Referenced by clang::ASTUnit::getPCHFile(), and ModuleFile().
| ModuleFileKey clang::serialization::ModuleFile::FileKey |
The key ModuleManager used for the module file.
Definition at line 165 of file ModuleFile.h.
Referenced by indexPreprocessorModuleMacros(), and ModuleFile().
| ModuleFileName clang::serialization::ModuleFile::FileName |
The file name of the module file.
Definition at line 162 of file ModuleFile.h.
Referenced by dump(), clang::ASTUnit::getASTFileName(), clang::ASTReader::getSourceDescriptor(), getTimestampFilename(), optimizeHeaderSearchOpts(), clang::ASTReader::ReadAST(), and clang::ASTReader::ReadASTCore().
| const serialization::unaligned_decl_id_t* clang::serialization::ModuleFile::FileSortedDecls = nullptr |
Array of file-level DeclIDs sorted by file.
Definition at line 486 of file ModuleFile.h.
Referenced by clang::ASTReader::getModuleFileLevelDecls(), and clang::ASTReader::ReadSLocEntry().
| SourceLocation clang::serialization::ModuleFile::FirstLoc |
The first source location in this module.
Definition at line 262 of file ModuleFile.h.
| unsigned clang::serialization::ModuleFile::Generation |
The generation of which this module file is a part.
Definition at line 226 of file ModuleFile.h.
Referenced by ModuleFile(), and clang::serialization::ReadMethodPoolVisitor::operator()().
| uint64_t clang::serialization::ModuleFile::GlobalBitOffset = 0 |
The global bit offset (or base) of this module.
Definition at line 236 of file ModuleFile.h.
Referenced by clang::ASTReader::ReadAST().
Whether timestamps are included in this module file.
Definition at line 199 of file ModuleFile.h.
| void* clang::serialization::ModuleFile::HeaderFileInfoTable = nullptr |
The on-disk hash table that contains information about each of the header files.
Definition at line 423 of file ModuleFile.h.
Referenced by ~ModuleFile().
| 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 419 of file ModuleFile.h.
| void* clang::serialization::ModuleFile::IdentifierLookupTable = nullptr |
A pointer to an on-disk hash table of opaque type IdentifierHashTable.
Definition at line 355 of file ModuleFile.h.
Referenced by clang::ASTIdentifierIterator::Next(), and ~ModuleFile().
| 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 342 of file ModuleFile.h.
Referenced by clang::ASTReader::DecodeIdentifierInfo().
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 351 of file ModuleFile.h.
Referenced by clang::ASTReader::DecodeIdentifierInfo(), and clang::ASTReader::ReadAST().
| llvm::SetVector<ModuleFile *> clang::serialization::ModuleFile::ImportedBy |
List of modules which depend on this module.
Definition at line 519 of file ModuleFile.h.
Referenced by getTopImportImplicitModule(), updateModuleImports(), and clang::serialization::ModuleManager::visit().
| SourceLocation clang::serialization::ModuleFile::ImportLoc |
The source location where this module was first imported.
Definition at line 259 of file ModuleFile.h.
Referenced by clang::TestModuleFileExtension::createExtensionReader(), clang::ASTReader::getModuleImportLoc(), getTopImportImplicitModule(), clang::ASTReader::ReadAST(), and updateModuleImports().
| llvm::SetVector<ModuleFile *> clang::serialization::ModuleFile::Imports |
List of modules which this module directly imported.
Definition at line 522 of file ModuleFile.h.
Referenced by llvm::GraphTraits< ModuleManager >::child_begin(), llvm::GraphTraits< ModuleManager >::child_end(), dump(), optimizeHeaderSearchOpts(), updateModuleImports(), and clang::serialization::ModuleManager::visit().
| unsigned clang::serialization::ModuleFile::Index = 0 |
The index of this module in the list of modules.
Definition at line 156 of file ModuleFile.h.
Referenced by clang::ASTReader::getGlobalDeclID(), clang::ASTReader::getGlobalIdentifierID(), clang::ASTReader::getGlobalMacroID(), clang::ASTReader::getGlobalPreprocessedEntityID(), clang::ASTReader::getGlobalTypeID(), clang::ASTWriter::getRawSourceLocationEncoding(), clang::ASTReader::isDeclIDFromModule(), clang::ASTReader::ReadPreprocessedEntity(), and clang::serialization::ModuleManager::visit().
| std::vector<InputFileInfo> clang::serialization::ModuleFile::InputFileInfosLoaded |
The input file infos that have been loaded from this AST file.
Definition at line 287 of file ModuleFile.h.
| const llvm::support::unaligned_uint64_t* clang::serialization::ModuleFile::InputFileOffsets = nullptr |
Relative offsets for all of the input file entries in the AST file.
Definition at line 281 of file ModuleFile.h.
| llvm::BitstreamCursor clang::serialization::ModuleFile::InputFilesCursor |
The cursor to the start of the input-files block.
Definition at line 275 of file ModuleFile.h.
| std::vector<InputFile> clang::serialization::ModuleFile::InputFilesLoaded |
The input files that have been loaded from this AST file.
Definition at line 284 of file ModuleFile.h.
Referenced by clang::ASTReader::visitInputFileInfos(), clang::ASTReader::visitInputFiles(), and clang::ASTReader::visitTopLevelModuleMaps().
| uint64_t clang::serialization::ModuleFile::InputFilesOffsetBase = 0 |
Absolute offset of the start of the input-files block.
Definition at line 278 of file ModuleFile.h.
| InputFilesValidation clang::serialization::ModuleFile::InputFilesValidationStatus |
Captures the high-level result of validating input files.
Useful when encountering a changed input file. This way, we can check what kind of validation has been done already and can try to figure out why a changed file hasn't been discovered earlier.
Definition at line 304 of file ModuleFile.h.
| 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 297 of file ModuleFile.h.
Referenced by clang::ASTReader::ReadAST().
| ModuleKind clang::serialization::ModuleFile::Kind |
The type of this module.
Definition at line 159 of file ModuleFile.h.
Referenced by clang::serialization::ModuleManager::addModule(), clang::ASTUnit::getPCHFile(), getTopImportImplicitModule(), isModule(), ModuleFile(), optimizeHeaderSearchOpts(), clang::ASTReader::ReadAST(), clang::ASTReader::ReadPragmaDiagnosticMappings(), and clang::ASTReader::ReadSLocEntry().
| unsigned clang::serialization::ModuleFile::LocalNumDecls = 0 |
The number of declarations in this AST file.
Definition at line 476 of file ModuleFile.h.
Referenced by dump(), and clang::LocalDeclID::get().
| unsigned clang::serialization::ModuleFile::LocalNumHeaderFileInfos = 0 |
The number of local HeaderFileInfo structures.
Definition at line 412 of file ModuleFile.h.
| unsigned clang::serialization::ModuleFile::LocalNumIdentifiers = 0 |
The number of identifiers in this AST file.
Definition at line 335 of file ModuleFile.h.
Referenced by dump().
| unsigned clang::serialization::ModuleFile::LocalNumMacros = 0 |
The number of macros in this AST file.
Definition at line 368 of file ModuleFile.h.
Referenced by dump().
| unsigned clang::serialization::ModuleFile::LocalNumObjCCategoriesInMap = 0 |
The number of redeclaration info entries in ObjCCategoriesMap.
Definition at line 494 of file ModuleFile.h.
| 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 441 of file ModuleFile.h.
Referenced by dump().
| unsigned clang::serialization::ModuleFile::LocalNumSLocEntries = 0 |
The number of source location entries in this AST file.
Definition at line 316 of file ModuleFile.h.
Referenced by clang::ASTReader::getSLocEntryID().
| unsigned clang::serialization::ModuleFile::LocalNumSubmodules = 0 |
The number of submodules in this module.
Definition at line 428 of file ModuleFile.h.
Referenced by dump().
| unsigned clang::serialization::ModuleFile::LocalNumTypes = 0 |
The number of types in this AST file.
Definition at line 503 of file ModuleFile.h.
Referenced by dump().
| 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 365 of file ModuleFile.h.
Referenced by clang::ASTReader::ReadMacroRecord(), and clang::ASTReader::resolvePendingMacro().
| 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 379 of file ModuleFile.h.
Referenced by clang::ASTReader::getMacro().
| uint64_t clang::serialization::ModuleFile::MacroOffsetsBase = 0 |
Base file offset for the offsets in MacroOffsets.
Real file offset for the entry is MacroOffsetsBase + MacroOffsets[i].
Definition at line 372 of file ModuleFile.h.
Referenced by clang::ASTReader::getMacro(), clang::ASTReader::ReadPreprocessedEntity(), and clang::ASTReader::resolvePendingMacro().
| uint64_t clang::serialization::ModuleFile::MacroStartOffset = 0 |
The offset of the start of the set of defined macros.
Definition at line 385 of file ModuleFile.h.
| std::string clang::serialization::ModuleFile::ModuleMapPath |
Definition at line 190 of file ModuleFile.h.
| std::string clang::serialization::ModuleFile::ModuleName |
The name of the module.
Definition at line 168 of file ModuleFile.h.
Referenced by clang::DumpModuleInfoAction::ExecuteAction(), clang::ASTReader::getModuleImportLoc(), llvm::DOTGraphTraits< ModuleManager >::getNodeLabel(), getTopImportImplicitModule(), clang::ASTReader::ReadAST(), clang::ASTReader::ReadASTCore(), and clang::RewriteIncludesAction::RewriteImportsListener::visitModuleFile().
| StringRef clang::serialization::ModuleFile::ModuleOffsetMap |
The module offset map data for this file.
If non-empty, the various ContinuousRangeMaps described below have not yet been populated.
Definition at line 270 of file ModuleFile.h.
Referenced by clang::LocalDeclID::get(), clang::ASTReader::getGlobalDeclID(), clang::ASTReader::getGlobalIdentifierID(), clang::ASTReader::getGlobalMacroID(), clang::ASTReader::getGlobalPreprocessedEntityID(), clang::ASTReader::getGlobalSelectorID(), clang::ASTReader::getGlobalSubmoduleID(), clang::ASTReader::getGlobalTypeID(), clang::ASTReader::mapGlobalIDToModuleFileGlobalID(), and clang::ASTReader::ReadSourceLocation().
| unsigned clang::serialization::ModuleFile::NumFileSortedDecls = 0 |
Definition at line 487 of file ModuleFile.h.
Referenced by clang::ASTReader::getModuleFileLevelDecls().
| unsigned clang::serialization::ModuleFile::NumPreprocessedEntities = 0 |
Definition at line 401 of file ModuleFile.h.
Referenced by dump().
| unsigned clang::serialization::ModuleFile::NumPreprocessedSkippedRanges = 0 |
Definition at line 407 of file ModuleFile.h.
| unsigned clang::serialization::ModuleFile::NumUserInputFiles = 0 |
Definition at line 291 of file ModuleFile.h.
Referenced by clang::ASTReader::visitInputFileInfos(), and clang::ASTReader::visitInputFiles().
| SmallVector<uint64_t, 1> clang::serialization::ModuleFile::ObjCCategories |
The Objective-C category lists for categories known to this module.
Definition at line 498 of file ModuleFile.h.
| 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 491 of file ModuleFile.h.
| FileID clang::serialization::ModuleFile::OriginalSourceFileID |
The file ID for the original source file that was used to build this AST file.
Definition at line 188 of file ModuleFile.h.
Referenced by clang::ASTReader::ReadAST(), and clang::ASTReader::ReadPragmaDiagnosticMappings().
| 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 180 of file ModuleFile.h.
Referenced by clang::ASTReader::getSourceDescriptor().
| SmallVector<uint64_t, 8> clang::serialization::ModuleFile::PragmaDiagMappings |
Diagnostic IDs and their mappings that the user changed.
Definition at line 516 of file ModuleFile.h.
Referenced by clang::ASTReader::ReadPragmaDiagnosticMappings().
| std::vector<unsigned> clang::serialization::ModuleFile::PreloadIdentifierOffsets |
Offsets of identifiers that we're going to preload within IdentifierTableData.
Definition at line 359 of file ModuleFile.h.
Referenced by clang::ASTReader::ReadAST().
| const PPEntityOffset* clang::serialization::ModuleFile::PreprocessedEntityOffsets = nullptr |
Definition at line 400 of file ModuleFile.h.
Referenced by clang::ASTReader::isPreprocessedEntityInFileID(), and clang::ASTReader::ReadPreprocessedEntity().
| const PPSkippedRange* clang::serialization::ModuleFile::PreprocessedSkippedRangeOffsets = nullptr |
Definition at line 406 of file ModuleFile.h.
Referenced by clang::ASTReader::ReadSkippedRange().
| llvm::BitstreamCursor clang::serialization::ModuleFile::PreprocessorDetailCursor |
The cursor to the start of the (optional) detailed preprocessing record block.
Definition at line 391 of file ModuleFile.h.
Referenced by clang::ASTReader::ReadPreprocessedEntity().
| uint64_t clang::serialization::ModuleFile::PreprocessorDetailStartOffset = 0 |
The offset of the start of the preprocessor detail cursor.
Definition at line 394 of file ModuleFile.h.
Whether this precompiled header is a relocatable PCH file.
Definition at line 193 of file ModuleFile.h.
| llvm::BitVector clang::serialization::ModuleFile::SearchPathUsage |
The bit vector denoting usage of each header search entry (true = used).
Definition at line 216 of file ModuleFile.h.
Referenced by optimizeHeaderSearchOpts().
| 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 463 of file ModuleFile.h.
Referenced by clang::serialization::ReadMethodPoolVisitor::operator()(), and ~ModuleFile().
A pointer to the character data that comprises the selector table.
The SelectorOffsets table refers into this memory.
Definition at line 456 of file ModuleFile.h.
Referenced by clang::ASTReader::DecodeSelector().
| const uint32_t* clang::serialization::ModuleFile::SelectorOffsets = nullptr |
Offsets into the selector lookup table's data array where each selector resides.
Definition at line 445 of file ModuleFile.h.
Referenced by clang::ASTReader::DecodeSelector().
| ContinuousRangeMap<uint32_t, int, 2> clang::serialization::ModuleFile::SelectorRemap |
Remapping table for selector IDs in this module.
Definition at line 451 of file ModuleFile.h.
Referenced by dump(), and clang::ASTReader::getGlobalSelectorID().
| 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 209 of file ModuleFile.h.
Referenced by clang::ASTReader::getSourceDescriptor().
| uint64_t clang::serialization::ModuleFile::SizeInBits = 0 |
The size of this file, in bits.
Definition at line 233 of file ModuleFile.h.
Referenced by clang::ASTReader::ReadAST().
| int clang::serialization::ModuleFile::SLocEntryBaseID = 0 |
The base ID in the source manager's view of this module.
Definition at line 319 of file ModuleFile.h.
Referenced by clang::ASTReader::ReadSLocEntry(), and clang::ASTReader::TranslateFileID().
| SourceLocation::UIntTy clang::serialization::ModuleFile::SLocEntryBaseOffset = 0 |
The base offset in the source manager's view of this module.
Definition at line 322 of file ModuleFile.h.
Referenced by dump(), clang::ASTWriter::getRawSourceLocationEncoding(), clang::ASTReader::ReadSLocEntry(), and clang::ASTReader::readSLocOffset().
| llvm::BitstreamCursor clang::serialization::ModuleFile::SLocEntryCursor |
Cursor used to read source location entries.
Definition at line 310 of file ModuleFile.h.
Referenced by clang::ASTReader::ReadSLocEntry(), and clang::ASTReader::readSLocOffset().
| const uint32_t* clang::serialization::ModuleFile::SLocEntryOffsets = nullptr |
Offsets for all of the source location entries in the AST file.
Definition at line 330 of file ModuleFile.h.
Referenced by clang::ASTReader::ReadSLocEntry(), and clang::ASTReader::readSLocOffset().
| uint64_t clang::serialization::ModuleFile::SLocEntryOffsetsBase = 0 |
Base file offset for the offsets in SLocEntryOffsets.
Real file offset for the entry is SLocEntryOffsetsBase + SLocEntryOffsets[i].
Definition at line 326 of file ModuleFile.h.
Referenced by clang::ASTReader::ReadSLocEntry(), and clang::ASTReader::readSLocOffset().
| uint64_t clang::serialization::ModuleFile::SourceManagerBlockStartOffset = 0 |
The bit offset to the start of the SOURCE_MANAGER_BLOCK.
Definition at line 313 of file ModuleFile.h.
Whether this module file is a standard C++ module.
Definition at line 196 of file ModuleFile.h.
Referenced by clang::FrontendAction::BeginSourceFile().
| llvm::BitstreamCursor clang::serialization::ModuleFile::Stream |
The main bitstream cursor for the main block.
Definition at line 245 of file ModuleFile.h.
Referenced by clang::ASTReader::ReadAST(), and clang::ASTReader::ReadASTCore().
| ContinuousRangeMap<uint32_t, int, 2> clang::serialization::ModuleFile::SubmoduleRemap |
Remapping table for submodule IDs in this module.
Definition at line 434 of file ModuleFile.h.
Referenced by dump(), and clang::ASTReader::getGlobalSubmoduleID().
| llvm::SmallVector<ModuleFile *, 16> clang::serialization::ModuleFile::TransitiveImports |
List of modules which this modules dependent on.
Different from Imports, this includes indirectly imported modules too. The order of TransitiveImports is significant. It should keep the same order with that module file manager when we write the current module file. The value of the member will be initialized in ASTReader::ReadModuleOffsetMap.
Definition at line 530 of file ModuleFile.h.
Referenced by clang::LocalDeclID::get(), clang::ASTReader::getGlobalDeclID(), clang::ASTReader::getGlobalIdentifierID(), clang::ASTReader::getGlobalMacroID(), clang::ASTReader::getGlobalPreprocessedEntityID(), clang::ASTReader::getGlobalTypeID(), clang::ASTReader::mapGlobalIDToModuleFileGlobalID(), and clang::ASTReader::ReadSourceLocation().
| const UnalignedUInt64* 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 507 of file ModuleFile.h.
| llvm::BitVector clang::serialization::ModuleFile::VFSUsage |
The bit vector denoting usage of each VFS entry (true = used).
Definition at line 219 of file ModuleFile.h.
Referenced by optimizeHeaderSearchOpts().