clang API Documentation
Public Types | |
enum | TrackerState { DefinedMacro, NotDefinedMacro, Unknown } |
Public Attributes | |
enum DefinedTracker::TrackerState | State |
IdentifierInfo * | TheMacro |
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 68 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.
Definition at line 71 of file PPExpressions.cpp.
Referenced by EvaluateDefined(), and EvaluateValue().
TheMacro - When the state is DefinedMacro or NotDefinedMacro, this indicates the macro that was checked.
Definition at line 78 of file PPExpressions.cpp.
Referenced by EvaluateDefined().