16 #ifndef LLVM_CLANG_SERIALIZATION_GLOBALMODULEINDEX_H 17 #define LLVM_CLANG_SERIALIZATION_GLOBALMODULEINDEX_H 19 #include "llvm/ADT/DenseMap.h" 20 #include "llvm/ADT/SmallPtrSet.h" 21 #include "llvm/ADT/SmallVector.h" 22 #include "llvm/ADT/StringMap.h" 23 #include "llvm/ADT/StringRef.h" 28 class BitstreamCursor;
37 class IdentifierIterator;
38 class PCHContainerOperations;
39 class PCHContainerReader;
41 namespace serialization {
61 std::unique_ptr<llvm::MemoryBuffer> Buffer;
68 void *IdentifierIndex;
72 ModuleInfo() : File(), Size(), ModTime() { }
101 llvm::DenseMap<ModuleFile *, unsigned> ModulesByFile;
107 llvm::StringMap<unsigned> UnresolvedModules;
110 unsigned NumIdentifierLookups;
114 unsigned NumIdentifierLookupHits;
118 llvm::BitstreamCursor
Cursor);
146 static std::pair<GlobalModuleIndex *, ErrorCode>
147 readIndex(llvm::StringRef Path);
166 typedef llvm::SmallPtrSet<ModuleFile *, 4>
HitSet;
177 bool lookupIdentifier(llvm::StringRef Name, HitSet &Hits);
200 llvm::StringRef Path);
Implements support for file system lookup, file system caching, and directory search management...
DominatorTree GraphTraits specialization so the DominatorTree can be iterable by generic graph iterat...
llvm::SmallPtrSet< ModuleFile *, 4 > HitSet
A set of module files in which we found a result.
static void dump(llvm::raw_ostream &OS, StringRef FunctionName, ArrayRef< CounterExpression > Expressions, ArrayRef< CounterMappingRegion > Regions)
ErrorCode
An error code returned when trying to read an index.
This abstract interface provides operations for unwrapping containers for serialized ASTs (precompile...
Information about a module that has been loaded by the ASTReader.
An iterator that walks over all of the known identifiers in the lookup table.
A global index for a set of module files, providing information about the identifiers within those mo...
Dataflow Directional Tag Classes.
Some other process is currently building the index; it is not available yet.