clang  6.0.0svn
Public Member Functions | Static Public Member Functions | List of all members
clang::HeaderMap Class Reference

This class represents an Apple concept known as a 'header map'. More...

#include "clang/Lex/HeaderMap.h"

Inheritance diagram for clang::HeaderMap:
Inheritance graph
[legend]
Collaboration diagram for clang::HeaderMap:
Collaboration graph
[legend]

Public Member Functions

const FileEntryLookupFile (StringRef Filename, FileManager &FM) const
 Check to see if the specified relative filename is located in this HeaderMap. More...
 

Static Public Member Functions

static const HeaderMapCreate (const FileEntry *FE, FileManager &FM)
 This attempts to load the specified file as a header map. More...
 

Detailed Description

This class represents an Apple concept known as a 'header map'.

To the #include file resolution process, it basically acts like a directory of symlinks to files. Its advantages are that it is dense and more efficient to create and process than a directory of symlinks.

Definition at line 67 of file HeaderMap.h.

Member Function Documentation

◆ Create()

const HeaderMap * HeaderMap::Create ( const FileEntry FE,
FileManager FM 
)
static

This attempts to load the specified file as a header map.

HeaderMap::Create - This attempts to load the specified file as a header map.

If it doesn't look like a HeaderMap, it gives up and returns null.

If it doesn't look like a HeaderMap, it gives up and returns null. If it looks like a HeaderMap but is obviously corrupted, it puts a reason into the string error argument and returns null.

Definition at line 51 of file HeaderMap.cpp.

References clang::HeaderMapImpl::checkHeader(), clang::FileManager::getBufferForFile(), and clang::FileEntry::getSize().

Referenced by clang::HeaderSearch::CreateHeaderMap().

◆ LookupFile()

const FileEntry * HeaderMap::LookupFile ( StringRef  Filename,
FileManager FM 
) const

Check to see if the specified relative filename is located in this HeaderMap.

LookupFile - Check to see if the specified relative filename is located in this HeaderMap.

If so, open it and return its FileEntry. If RawPath is not NULL and the file is found, RawPath will be set to the raw path at which the file was found in the file system. For example, for a search path ".." and a filename "../file.h" this would be "../../file.h".

If so, open it and return its FileEntry.

Definition at line 199 of file HeaderMap.cpp.

References clang::FileManager::getFile(), and clang::HeaderMapImpl::lookupFilename().

Referenced by clang::DirectoryLookup::LookupFile().


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