struct HeaderFileInfo
Declaration
struct HeaderFileInfo { /* full declaration omitted */ };
Description
The preprocessor keeps track of this information for each file that is # included.
Declared at: clang/include/clang/Lex/HeaderSearch.h:58
Member Variables
- public unsigned int isImport
- True if this is a # import'd file.
- public unsigned int isPragmaOnce
- True if this is a # pragma once file.
- public unsigned int DirInfo
- Keep track of whether this is a system header, and if so, whether it is C++ clean or not. This can be set by the include paths or by # pragma gcc system_header. This is an instance of SrcMgr::CharacteristicKind.
- public unsigned int External
- Whether this header file info was supplied by an external source, and has not changed since.
- public unsigned int isModuleHeader
- Whether this header is part of a module.
- public unsigned int isCompilingModuleHeader
- Whether this header is part of the module that we are building.
- public unsigned int Resolved
- Whether this structure is considered to already have been "resolved", meaning that it was loaded from the external source.
- public unsigned int IndexHeaderMapHeader
- When a framework is being built, the headers have not yet been placed into the appropriate framework subdirectories, and therefore are provided via a header map. This bit indicates when this is one of those framework headers.
- public unsigned int IsValid
- Whether this file has been looked up as a header.
- public unsigned int ControllingMacroID = 0
- This ID number will be non-zero when there is a controlling macro whose IdentifierInfo may not yet have been loaded from external storage.
- public const clang::IdentifierInfo* ControllingMacro = nullptr
- Note: Most clients should use getControllingMacro() to access the controlling macro of this header, since getControllingMacro() is able to load a controlling macro from external storage.
- public llvm::StringRef Framework
- If this header came from a framework include, this is the name of the framework.
Method Overview
- public HeaderFileInfo()
- public const clang::IdentifierInfo * getControllingMacro(clang::ExternalPreprocessorSource * External)
Methods
¶HeaderFileInfo()
HeaderFileInfo()
Declared at: clang/include/clang/Lex/HeaderSearch.h:120
¶const clang::IdentifierInfo* getControllingMacro(
clang::ExternalPreprocessorSource* External)
const clang::IdentifierInfo* getControllingMacro(
clang::ExternalPreprocessorSource* External)
Description
Retrieve the controlling macro for this header file, if any.
Declared at: clang/include/clang/Lex/HeaderSearch.h:128
Parameters
- clang::ExternalPreprocessorSource* External