13 #ifndef LLVM_CLANG_LEX_PPCONDITIONALDIRECTIVERECORD_H 14 #define LLVM_CLANG_LEX_PPCONDITIONALDIRECTIVERECORD_H 18 #include "llvm/ADT/SmallVector.h" 30 class CondDirectiveLoc {
36 : Loc(Loc), RegionLoc(RegionLoc) {}
46 const CondDirectiveLoc &RHS) {
58 typedef std::vector<CondDirectiveLoc> CondDirectiveLocsTy;
60 CondDirectiveLocsTy CondDirectiveLocs;
62 void addCondDirectiveLoc(CondDirectiveLoc DirLoc);
102 #endif // LLVM_CLANG_LEX_PPCONDITIONALDIRECTIVERECORD_H
PPConditionalDirectiveRecord(SourceManager &SM)
Construct a new preprocessing record.
bool isBeforeInTranslationUnit(SourceLocation LHS, SourceLocation RHS) const
Determines the order of 2 source locations in the translation unit.
A description of the current definition of a macro.
This interface provides a way to observe the actions of the preprocessor as it does its thing...
size_t getTotalMemory() const
Token - This structure provides full information about a lexed token.
bool areInDifferentConditionalDirectiveRegion(SourceLocation LHS, SourceLocation RHS) const
Returns true if the given locations are in different regions, separated by conditional directive bloc...
Encodes a location in the source.
bool rangeIntersectsConditionalDirective(SourceRange Range) const
Returns true if the given range intersects with a conditional directive.
Records preprocessor conditional directive regions and allows querying in which region source locatio...
SourceManager & getSourceManager() const
Dataflow Directional Tag Classes.
SourceLocation findConditionalDirectiveRegionLoc(SourceLocation Loc) const
bool operator()(SourceLocation LHS, const CondDirectiveLoc &RHS)
Defines the PPCallbacks interface.
Defines the clang::SourceLocation class and associated facilities.
bool operator()(const CondDirectiveLoc &LHS, const CondDirectiveLoc &RHS)
A trivial tuple used to represent a source range.
This class handles loading and caching of source files into memory.
bool operator()(const CondDirectiveLoc &LHS, SourceLocation RHS)