clang: clang::HeaderFileInfo Struct Reference (original) (raw)
The preprocessor keeps track of this information for each file that is #included. More...
#include "[clang/Lex/HeaderSearch.h](HeaderSearch%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| HeaderFileInfo () | |
| const IdentifierInfo * | getControllingMacro (ExternalPreprocessorSource *External) |
| Retrieve the controlling macro for this header file, if any. | |
| void | mergeModuleMembership (ModuleMap::ModuleHeaderRole Role) |
| Update the module membership bits based on the header role. |
| Public Attributes | |
|---|---|
| unsigned | IsLocallyIncluded: 1 |
| True if this file has been included (or imported) locally. | |
| unsigned | isImport: 1 |
| True if this is a #import'd file. | |
| unsigned | isPragmaOnce: 1 |
| True if this is a #pragma once file. | |
| unsigned | DirInfo: 3 |
| Keep track of whether this is a system header, and if so, whether it is C++ clean or not. | |
| unsigned | External: 1 |
| Whether this header file info was supplied by an external source, and has not changed since. | |
| unsigned | isModuleHeader: 1 |
| Whether this header is part of and built with a module. | |
| unsigned | isTextualModuleHeader: 1 |
| Whether this header is a textual header in a module. | |
| unsigned | isCompilingModuleHeader: 1 |
| Whether this header is part of the module that we are building, even if it doesn't build with the module. | |
| unsigned | Resolved: 1 |
| Whether this structure is considered to already have been "resolved", meaning that it was loaded from the external source. | |
| unsigned | IsValid: 1 |
| Whether this file has been looked up as a header. | |
| LazyIdentifierInfoPtr | LazyControllingMacro |
| If this file has a #ifndef XXX (or equivalent) guard that protects the entire contents of the file, this is the identifier for the macro that controls whether or not it has any effect. |
The preprocessor keeps track of this information for each file that is #included.
Definition at line 59 of file HeaderSearch.h.
| clang::HeaderFileInfo::HeaderFileInfo ( ) | inline |
|---|
Definition at line 125 of file HeaderSearch.h.
References DirInfo, External, false, HeaderFileInfo(), isCompilingModuleHeader, isImport, IsLocallyIncluded, isModuleHeader, isPragmaOnce, isTextualModuleHeader, IsValid, and Resolved.
Referenced by HeaderFileInfo().
◆ getControllingMacro()
◆ mergeModuleMembership()
◆ DirInfo
◆ External
unsigned clang::HeaderFileInfo::External
◆ isCompilingModuleHeader
unsigned clang::HeaderFileInfo::isCompilingModuleHeader
Whether this header is part of the module that we are building, even if it doesn't build with the module.
i.e. this will include excluded and textual headers as well as normal headers.
Definition at line 104 of file HeaderSearch.h.
Referenced by HeaderFileInfo().
◆ isImport
unsigned clang::HeaderFileInfo::isImport
◆ IsLocallyIncluded
unsigned clang::HeaderFileInfo::IsLocallyIncluded
◆ isModuleHeader
unsigned clang::HeaderFileInfo::isModuleHeader
◆ isPragmaOnce
unsigned clang::HeaderFileInfo::isPragmaOnce
◆ isTextualModuleHeader
unsigned clang::HeaderFileInfo::isTextualModuleHeader
◆ IsValid
◆ LazyControllingMacro
◆ Resolved
unsigned clang::HeaderFileInfo::Resolved
The documentation for this struct was generated from the following files:
- include/clang/Lex/HeaderSearch.h
- lib/Lex/HeaderSearch.cpp