14 #ifndef LLVM_CLANG_LEX_DIRECTORYLOOKUP_H
15 #define LLVM_CLANG_LEX_DIRECTORYLOOKUP_H
52 unsigned DirCharacteristic : 2;
56 unsigned LookupType : 2;
59 unsigned IsIndexHeaderMap : 1;
63 unsigned SearchedAllModuleMaps : 1;
70 : DirCharacteristic(DT),
72 IsIndexHeaderMap(
false), SearchedAllModuleMaps(
false) {
81 IsIndexHeaderMap(isIndexHeaderMap), SearchedAllModuleMaps(
false) {
128 SearchedAllModuleMaps = SAMM;
176 bool &InUserSpecifiedSystemFramework,
186 bool &InUserSpecifiedSystemHeader)
const;
Defines the SourceManager interface.
SrcMgr::CharacteristicKind getDirCharacteristic() const
const DirectoryEntry * Dir
CharacteristicKind
Indicates whether a file or directory holds normal user code, system code, or system code which is im...
DirectoryLookup(const DirectoryEntry *dir, SrcMgr::CharacteristicKind DT, bool isFramework)
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified...
const HeaderMap * getHeaderMap() const
LookupType_t getLookupType() const
bool isSystemHeaderDirectory() const
Whether this describes a system header directory.
bool isNormalDir() const
isNormalDir - Return true if this is a normal directory, not a header map.
bool haveSearchedAllModuleMaps() const
Determine whether we have already searched this entire directory for module maps. ...
const DirectoryEntry * getFrameworkDir() const
Cached information about one file (either on disk or in the virtual file system). ...
const char * getName() const
Cached information about one directory (either on disk or in the virtual file system).
const FileEntry * LookupFile(StringRef &Filename, HeaderSearch &HS, SmallVectorImpl< char > *SearchPath, SmallVectorImpl< char > *RelativePath, ModuleMap::KnownHeader *SuggestedModule, bool &InUserSpecifiedSystemFramework, bool &HasBeenMapped, SmallVectorImpl< char > &MappedName) const
bool isHeaderMap() const
isHeaderMap - Return true if this is a header map, not a normal directory.
DirectoryLookup(const HeaderMap *map, SrcMgr::CharacteristicKind DT, bool isIndexHeaderMap)
bool isIndexHeaderMap() const
Whether this header map is building a framework or not.
const DirectoryEntry * getDir() const
void setSearchedAllModuleMaps(bool SAMM)
Specify whether we have already searched all of the subdirectories for module maps.