13 #ifndef LLVM_CLANG_LEX_DIRECTORYLOOKUP_H 14 #define LLVM_CLANG_LEX_DIRECTORYLOOKUP_H 51 unsigned DirCharacteristic : 2;
55 unsigned LookupType : 2;
58 unsigned IsIndexHeaderMap : 1;
62 unsigned SearchedAllModuleMaps : 1;
69 : DirCharacteristic(DT),
71 IsIndexHeaderMap(
false), SearchedAllModuleMaps(
false) {
80 IsIndexHeaderMap(isIndexHeaderMap), SearchedAllModuleMaps(
false) {
127 SearchedAllModuleMaps = SAMM;
185 bool &InUserSpecifiedSystemFramework,
186 bool &IsFrameworkFound,
197 bool &InUserSpecifiedSystemFramework,
198 bool &IsFrameworkFound)
const;
bool isIndexHeaderMap() const
Whether this header map is building a framework or not.
Defines the SourceManager interface.
const HeaderMap * Map
Map - This is the HeaderMap if this is a headermap lookup.
StringRef getName() const
getName - Return the directory or filename corresponding to this lookup object.
const DirectoryEntry * Dir
Dir - This is the actual directory that we're referring to for a normal directory or a framework...
CharacteristicKind
Indicates whether a file or directory holds normal user code, system code, or system code which is im...
bool isHeaderMap() const
isHeaderMap - Return true if this is a header map, not a normal directory.
DirectoryLookup(const DirectoryEntry *dir, SrcMgr::CharacteristicKind DT, bool isFramework)
DirectoryLookup ctor - Note that this ctor does not take ownership of 'dir'.
Describes a module or submodule.
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified...
bool isNormalDir() const
isNormalDir - Return true if this is a normal directory, not a header map.
bool isFramework() const
isFramework - True if this is a framework directory.
DirectoryLookup - This class represents one entry in the search list that specifies the search order ...
Encodes a location in the source.
bool isSystemHeaderDirectory() const
Whether this describes a system header directory.
LookupType_t getLookupType() const
getLookupType - Return the kind of directory lookup that this is: either a normal directory...
Cached information about one file (either on disk or in the virtual file system). ...
SrcMgr::CharacteristicKind getDirCharacteristic() const
DirCharacteristic - The type of directory this is, one of the DirType enum values.
bool haveSearchedAllModuleMaps() const
Determine whether we have already searched this entire directory for module maps. ...
const FileEntry * LookupFile(StringRef &Filename, HeaderSearch &HS, SourceLocation IncludeLoc, SmallVectorImpl< char > *SearchPath, SmallVectorImpl< char > *RelativePath, Module *RequestingModule, ModuleMap::KnownHeader *SuggestedModule, bool &InUserSpecifiedSystemFramework, bool &IsFrameworkFound, bool &HasBeenMapped, SmallVectorImpl< char > &MappedName) const
LookupFile - Lookup the specified file in this search path, returning it if it exists or returning nu...
const HeaderMap * getHeaderMap() const
getHeaderMap - Return the directory that this entry refers to.
Dataflow Directional Tag Classes.
const DirectoryEntry * getDir() const
getDir - Return the directory that this entry refers to.
Cached information about one directory (either on disk or in the virtual file system).
DirectoryLookup(const HeaderMap *map, SrcMgr::CharacteristicKind DT, bool isIndexHeaderMap)
DirectoryLookup ctor - Note that this ctor does not take ownership of 'map'.
void setSearchedAllModuleMaps(bool SAMM)
Specify whether we have already searched all of the subdirectories for module maps.
const DirectoryEntry * getFrameworkDir() const
getFrameworkDir - Return the directory that this framework refers to.