clang API Documentation

Public Types | Public Attributes
DefinedTracker Struct Reference
Collaboration diagram for DefinedTracker:
Collaboration graph
[legend]

List of all members.

Public Types

enum  TrackerState { DefinedMacro, NotDefinedMacro, Unknown }

Public Attributes

enum DefinedTracker::TrackerState State
IdentifierInfoTheMacro

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 68 of file PPExpressions.cpp.


Member Enumeration Documentation

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 71 of file PPExpressions.cpp.


Member Data Documentation

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().


The documentation for this struct was generated from the following file: