clang 20.0.0git
|
DefinedTracker - This struct is used while parsing expressions to keep track of whether !defined(X) has been seen. More...
Public Types | |
enum | TrackerState { DefinedMacro , NotDefinedMacro , Unknown } |
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. 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 |
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.
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.
Definition at line 97 of file PPExpressions.cpp.
Referenced by EvaluateDefined(), EvaluateDirectiveSubExpr(), and EvaluateValue().
enum DefinedTracker::TrackerState DefinedTracker::State |
Referenced by EvaluateDefined(), and EvaluateValue().
IdentifierInfo* DefinedTracker::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().