clang: DefinedTracker Struct Reference (original) (raw)
DefinedTracker - This struct is used while parsing expressions to keep track of whether !defined(X) has been seen. More...
Public Attributes | |
---|---|
enum DefinedTracker::TrackerState | State |
IdentifierInfo * | TheMacro |
TheMacro - When the state is DefinedMacro or NotDefinedMacro, this indicates the macro that was checked. | |
bool | IncludedUndefinedIds = false |
Detailed Description
DefinedTracker - This struct is used while parsing expressions to keep track of whether !defined(X) has been seen.
With this simple scheme, we handle the basic forms: !defined(X) and !defined X but we also trivially handle (silly) stuff like: !!!defined(X) and +!defined(X) and !+!+!defined(X) and !(defined(X)).
Definition at line 86 of file PPExpressions.cpp.
Member Enumeration Documentation
◆ TrackerState
Each time a Value is evaluated, it returns information about whether the parsed value is of the form defined(X), !defined(X) or is something else.
Enumerator |
---|
DefinedMacro |
NotDefinedMacro |
Unknown |
Definition at line 89 of file PPExpressions.cpp.
Member Data Documentation
◆ IncludedUndefinedIds
bool DefinedTracker::IncludedUndefinedIds = false
◆ State
◆ TheMacro
TheMacro - When the state is DefinedMacro or NotDefinedMacro, this indicates the macro that was checked.
Definition at line 96 of file PPExpressions.cpp.
Referenced by EvaluateDefined().
The documentation for this struct was generated from the following file:
- lib/Lex/PPExpressions.cpp