clang-tools 10.0.0

Public Member Functions | Public Attributes | List of all members
clang::pp_trace::PPCallbacksTracker Class Reference

This class overrides the PPCallbacks class for tracking preprocessor activity by means of its callback functions. More...

`#include <PPCallbacksTracker.h>`

Inheritance diagram for clang::pp_trace::PPCallbacksTracker:
[legend]
Collaboration diagram for clang::pp_trace::PPCallbacksTracker:
[legend]

## Public Member Functions
| PPCallbacksTracker (const FilterType &Filters, std::vector< CallbackCall > &CallbackCalls, Preprocessor &PP)
| Note that all of the arguments are references, and owned by the caller. More...
| ~PPCallbacksTracker () override
void | FileChanged (SourceLocation Loc, PPCallbacks::FileChangeReason Reason, SrcMgr::CharacteristicKind FileType, FileID PrevFID=FileID()) override
void | FileSkipped (const FileEntryRef &SkippedFile, const Token &FilenameTok, SrcMgr::CharacteristicKind FileType) override
bool | FileNotFound (llvm::StringRef FileName, llvm::SmallVectorImpl< char > &RecoveryPath) override
void | InclusionDirective (SourceLocation HashLoc, const Token &IncludeTok, llvm::StringRef FileName, bool IsAngled, CharSourceRange FilenameRange, const FileEntry *File, llvm::StringRef SearchPath, llvm::StringRef RelativePath, const Module *Imported, SrcMgr::CharacteristicKind FileType) override
void | moduleImport (SourceLocation ImportLoc, ModuleIdPath Path, const Module *Imported) override
void | EndOfMainFile () override
void | Ident (SourceLocation Loc, llvm::StringRef str) override
void | PragmaDirective (SourceLocation Loc, PragmaIntroducerKind Introducer) override
void | PragmaComment (SourceLocation Loc, const IdentifierInfo *Kind, llvm::StringRef Str) override
void | PragmaDetectMismatch (SourceLocation Loc, llvm::StringRef Name, llvm::StringRef Value) override
void | PragmaDebug (SourceLocation Loc, llvm::StringRef DebugType) override
void | PragmaMessage (SourceLocation Loc, llvm::StringRef Namespace, PPCallbacks::PragmaMessageKind Kind, llvm::StringRef Str) override
void | PragmaDiagnosticPush (SourceLocation Loc, llvm::StringRef Namespace) override
void | PragmaDiagnosticPop (SourceLocation Loc, llvm::StringRef Namespace) override
void | PragmaDiagnostic (SourceLocation Loc, llvm::StringRef Namespace, diag::Severity mapping, llvm::StringRef Str) override
void | PragmaOpenCLExtension (SourceLocation NameLoc, const IdentifierInfo *Name, SourceLocation StateLoc, unsigned State) override
void | PragmaWarning (SourceLocation Loc, llvm::StringRef WarningSpec, llvm::ArrayRef< int > Ids) override
void | PragmaWarningPush (SourceLocation Loc, int Level) override
void | PragmaWarningPop (SourceLocation Loc) override
void | PragmaExecCharsetPush (SourceLocation Loc, StringRef Str) override
void | PragmaExecCharsetPop (SourceLocation Loc) override
void | MacroExpands (const Token &MacroNameTok, const MacroDefinition &MD, SourceRange Range, const MacroArgs *Args) override
void | MacroDefined (const Token &MacroNameTok, const MacroDirective *MD) override
void | MacroUndefined (const Token &MacroNameTok, const MacroDefinition &MD, const MacroDirective *Undef) override
void | Defined (const Token &MacroNameTok, const MacroDefinition &MD, SourceRange Range) override
void | SourceRangeSkipped (SourceRange Range, SourceLocation EndifLoc) override
void | If (SourceLocation Loc, SourceRange ConditionRange, ConditionValueKind ConditionValue) override
void | Elif (SourceLocation Loc, SourceRange ConditionRange, ConditionValueKind ConditionValue, SourceLocation IfLoc) override
void | Ifdef (SourceLocation Loc, const Token &MacroNameTok, const MacroDefinition &MD) override
void | Ifndef (SourceLocation Loc, const Token &MacroNameTok, const MacroDefinition &MD) override
void | Else (SourceLocation Loc, SourceLocation IfLoc) override
void | Endif (SourceLocation Loc, SourceLocation IfLoc) override
void | beginCallback (const char *Name)
| Start a new callback. More...
void | append (const char *Str)
| Append a string to the top trace item. More...
void | appendArgument (const char *Name, bool Value)
| Append a bool argument to the top trace item. More...
void | appendArgument (const char *Name, int Value)
| Append an int argument to the top trace item. More...
void | appendArgument (const char *Name, const char *Value)
| Append a string argument to the top trace item. More...
void | appendArgument (const char *Name, llvm::StringRef Value)
| Append a string reference object argument to the top trace item. More...
void | appendArgument (const char *Name, const std::string &Value)
| Append a string object argument to the top trace item. More...
void | appendArgument (const char *Name, const Token &Value)
| Append a token argument to the top trace item. More...
void | appendArgument (const char *Name, int Value, const char *const Strings[])
| Append an enum argument to the top trace item. More...
void | appendArgument (const char *Name, FileID Value)
| Append a FileID argument to the top trace item. More...
void | appendArgument (const char *Name, const FileEntry *Value)
| Append a FileEntry argument to the top trace item. More...
void | appendArgument (const char *Name, SourceLocation Value)
| Append a SourceLocation argument to the top trace item. More...
void | appendArgument (const char *Name, SourceRange Value)
| Append a SourceRange argument to the top trace item. More...
void | appendArgument (const char *Name, CharSourceRange Value)
| Append a CharSourceRange argument to the top trace item. More...
void | appendArgument (const char *Name, ModuleIdPath Value)
| Append a ModuleIdPath argument to the top trace item. More...
void | appendArgument (const char *Name, const IdentifierInfo *Value)
| Append an IdentifierInfo argument to the top trace item. More...
void | appendArgument (const char *Name, const MacroDirective *Value)
| Append a MacroDirective argument to the top trace item. More...
void | appendArgument (const char *Name, const MacroDefinition &Value)
| Append a MacroDefinition argument to the top trace item. More...
void | appendArgument (const char *Name, const MacroArgs *Value)
| Append a MacroArgs argument to the top trace item. More...
void | appendArgument (const char *Name, const Module *Value)
| Append a Module argument to the top trace item. More...
void | appendQuotedArgument (const char *Name, const std::string &Value)
| Append a double-quoted argument to the top trace item. More...
void | appendFilePathArgument (const char *Name, llvm::StringRef Value)
| Append a double-quoted file path argument to the top trace item. More...
llvm::StringRef | getSourceString (CharSourceRange Range)
| Get the raw source string of the range. More...

## Public Attributes
std::vector< CallbackCall > & | CallbackCalls
| Callback trace information. More...
const FilterType & | Filters
llvm::StringMap< bool > | CallbackIsEnabled
bool | DisableTrace
| Inhibit trace while this is set. More...
Preprocessor & | PP

## Detailed Description

This class overrides the PPCallbacks class for tracking preprocessor activity by means of its callback functions.

This object is given a vector for storing the trace information, built up of CallbackCall and subordinate Argument objects for representing the callback calls and their arguments. It's a reference so the vector can exist beyond the lifetime of this object, because it's deleted by the preprocessor automatically in its destructor.

This class supports a mechanism for inhibiting trace output for specific callbacks by name, for the purpose of eliminating output for callbacks of no interest that might clutter the output.

Following the constructor and destructor function declarations, the overidden callback functions are defined. The remaining functions are helpers for recording the trace data, to reduce the coupling between it and the recorded data structure.

Definition at line 74 of file PPCallbacksTracker.h.

## Constructor & Destructor Documentation

## ◆ PPCallbacksTracker()

clang::pp_trace::PPCallbacksTracker::PPCallbacksTracker | ( | const FilterType & | Filters,
|  | std::vector< CallbackCall > & | CallbackCalls,
|  | Preprocessor & | PP
| ) |  |

Note that all of the arguments are references, and owned by the caller.

Parameters

  Filters | - List of (Glob,Enabled) pairs used to filter callbacks.
  CallbackCalls | - Trace buffer.
  PP | - The preprocessor. Needed for getting some argument strings.

Definition at line 92 of file PPCallbacksTracker.cpp.

## ◆ ~PPCallbacksTracker()

clang::pp_trace::PPCallbacksTracker::~PPCallbacksTracker | ( |  | ) |
| override

Definition at line 97 of file PPCallbacksTracker.cpp.

## Member Function Documentation

## ◆ append()

void clang::pp_trace::PPCallbacksTracker::append | ( | const char * | Str | ) |

Append a string to the top trace item.

## ◆ appendArgument() [1/18]

void clang::pp_trace::PPCallbacksTracker::appendArgument | ( | const char * | Name,
|  | bool | Value
| ) |  |

Append a bool argument to the top trace item.

Definition at line 433 of file PPCallbacksTracker.cpp.

Referenced by appendArgument(), Defined(), Elif(), Else(), Endif(), FileChanged(), FileSkipped(), If(), Ifdef(), Ifndef(), InclusionDirective(), MacroDefined(), MacroUndefined(), moduleImport(), PragmaDebug(), PragmaDetectMismatch(), PragmaDiagnosticPop(), PragmaDiagnosticPush(), PragmaDirective(), PragmaExecCharsetPop(), PragmaOpenCLExtension(), PragmaWarning(), PragmaWarningPop(), PragmaWarningPush(), and SourceRangeSkipped().

## ◆ appendArgument() [2/18]

void clang::pp_trace::PPCallbacksTracker::appendArgument | ( | const char * | Name,
|  | int | Value
| ) |  |

Append an int argument to the top trace item.

Definition at line 438 of file PPCallbacksTracker.cpp.

## ◆ appendArgument() [3/18]

void clang::pp_trace::PPCallbacksTracker::appendArgument | ( | const char * | Name,
|  | const char * | Value
| ) |  |

Append a string argument to the top trace item.

Definition at line 446 of file PPCallbacksTracker.cpp.

References CallbackCalls, DisableTrace, and Name.

## ◆ appendArgument() [4/18]

void clang::pp_trace::PPCallbacksTracker::appendArgument | ( | const char * | Name,
|  | llvm::StringRef | Value
| ) |  |

Append a string reference object argument to the top trace item.

Definition at line 453 of file PPCallbacksTracker.cpp.

References appendArgument().

## ◆ appendArgument() [5/18]

void clang::pp_trace::PPCallbacksTracker::appendArgument | ( | const char * | Name,
|  | const std::string & | Value
| ) |  |

Append a string object argument to the top trace item.

Definition at line 459 of file PPCallbacksTracker.cpp.

References appendArgument().

## ◆ appendArgument() [6/18]

void clang::pp_trace::PPCallbacksTracker::appendArgument | ( | const char * | Name,
|  | const Token & | Value
| ) |  |

Append a token argument to the top trace item.

Definition at line 465 of file PPCallbacksTracker.cpp.

References appendArgument(), and PP.

## ◆ appendArgument() [7/18]

void clang::pp_trace::PPCallbacksTracker::appendArgument | ( | const char * | Name,
|  | int | Value,
|  | const char *const | Strings[]
| ) |  |

Append an enum argument to the top trace item.

Definition at line 470 of file PPCallbacksTracker.cpp.

References appendArgument().

## ◆ appendArgument() [8/18]

void clang::pp_trace::PPCallbacksTracker::appendArgument | ( | const char * | Name,
|  | FileID | Value
| ) |  |

Append a FileID argument to the top trace item.

Definition at line 476 of file PPCallbacksTracker.cpp.

References appendArgument(), appendFilePathArgument(), and PP.

## ◆ appendArgument() [9/18]

void clang::pp_trace::PPCallbacksTracker::appendArgument | ( | const char * | Name,
|  | const FileEntry * | Value
| ) |  |

Append a FileEntry argument to the top trace item.

Definition at line 490 of file PPCallbacksTracker.cpp.

References appendArgument(), and appendFilePathArgument().

## ◆ appendArgument() [10/18]

void clang::pp_trace::PPCallbacksTracker::appendArgument | ( | const char * | Name,
|  | SourceLocation | Value
| ) |  |

Append a SourceLocation argument to the top trace item.

Definition at line 500 of file PPCallbacksTracker.cpp.

References appendArgument(), clang::pp_trace::getSourceLocationString(), and PP.

## ◆ appendArgument() [11/18]

void clang::pp_trace::PPCallbacksTracker::appendArgument | ( | const char * | Name,
|  | SourceRange | Value
| ) |  |

Append a SourceRange argument to the top trace item.

Definition at line 510 of file PPCallbacksTracker.cpp.

References appendArgument(), and DisableTrace.

## ◆ appendArgument() [12/18]

void clang::pp_trace::PPCallbacksTracker::appendArgument | ( | const char * | Name,
|  | CharSourceRange | Value
| ) |  |

Append a CharSourceRange argument to the top trace item.

Definition at line 525 of file PPCallbacksTracker.cpp.

References appendArgument(), and getSourceString().

## ◆ appendArgument() [13/18]

void clang::pp_trace::PPCallbacksTracker::appendArgument | ( | const char * | Name,
|  | ModuleIdPath | Value
| ) |  |

Append a ModuleIdPath argument to the top trace item.

Definition at line 535 of file PPCallbacksTracker.cpp.

References DisableTrace.

## ◆ appendArgument() [14/18]

void clang::pp_trace::PPCallbacksTracker::appendArgument | ( | const char * | Name,
|  | const IdentifierInfo * | Value
| ) |  |

Append an IdentifierInfo argument to the top trace item.

Definition at line 553 of file PPCallbacksTracker.cpp.

References appendArgument().

## ◆ appendArgument() [15/18]

void clang::pp_trace::PPCallbacksTracker::appendArgument | ( | const char * | Name,
|  | const MacroDirective * | Value
| ) |  |

Append a MacroDirective argument to the top trace item.

Definition at line 563 of file PPCallbacksTracker.cpp.

References appendArgument().

## ◆ appendArgument() [16/18]

void clang::pp_trace::PPCallbacksTracker::appendArgument | ( | const char * | Name,
|  | const MacroDefinition & | Value
| ) |  |

Append a MacroDefinition argument to the top trace item.

Definition at line 573 of file PPCallbacksTracker.cpp.

## ◆ appendArgument() [17/18]

void clang::pp_trace::PPCallbacksTracker::appendArgument | ( | const char * | Name,
|  | const MacroArgs * | Value
| ) |  |

Append a MacroArgs argument to the top trace item.

Definition at line 592 of file PPCallbacksTracker.cpp.

References appendArgument().

## ◆ appendArgument() [18/18]

void clang::pp_trace::PPCallbacksTracker::appendArgument | ( | const char * | Name,
|  | const Module * | Value
| ) |  |

Append a Module argument to the top trace item.

Definition at line 629 of file PPCallbacksTracker.cpp.

References appendArgument().

## ◆ appendFilePathArgument()

void clang::pp_trace::PPCallbacksTracker::appendFilePathArgument | ( | const char * | Name,
|  | llvm::StringRef | Value
| ) |  |

Append a double-quoted file path argument to the top trace item.

Definition at line 647 of file PPCallbacksTracker.cpp.

References appendQuotedArgument(), Path, and clang::clangd::replace().

Referenced by appendArgument(), FileNotFound(), and InclusionDirective().

## ◆ appendQuotedArgument()

void clang::pp_trace::PPCallbacksTracker::appendQuotedArgument | ( | const char * | Name,
|  | const std::string & | Value
| ) |  |

Append a double-quoted argument to the top trace item.

Definition at line 638 of file PPCallbacksTracker.cpp.

Referenced by appendFilePathArgument().

## ◆ beginCallback()

void clang::pp_trace::PPCallbacksTracker::beginCallback | ( | const char * | Name | ) |

Start a new callback.

Definition at line 418 of file PPCallbacksTracker.cpp.

References CallbackIsEnabled.

Referenced by Defined(), Elif(), Else(), Endif(), EndOfMainFile(), FileChanged(), FileNotFound(), FileSkipped(), If(), Ifdef(), Ifndef(), InclusionDirective(), MacroDefined(), MacroUndefined(), moduleImport(), PragmaDebug(), PragmaDetectMismatch(), PragmaDiagnosticPop(), PragmaDiagnosticPush(), PragmaDirective(), PragmaExecCharsetPop(), PragmaOpenCLExtension(), PragmaWarning(), PragmaWarningPop(), PragmaWarningPush(), and SourceRangeSkipped().

## ◆ Defined()

void clang::pp_trace::PPCallbacksTracker::Defined | ( | const Token & | MacroNameTok,
|  | const MacroDefinition & | MD,
|  | SourceRange | Range
| ) |  |
| override

Definition at line 347 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ Elif()

void clang::pp_trace::PPCallbacksTracker::Elif | ( | SourceLocation | Loc,
|  | SourceRange | ConditionRange,
|  | ConditionValueKind | ConditionValue,
|  | SourceLocation | IfLoc
| ) |  |
| override

Definition at line 373 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ Else()

void clang::pp_trace::PPCallbacksTracker::Else | ( | SourceLocation | Loc,
|  | SourceLocation | IfLoc
| ) |  |
| override

Definition at line 402 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ Endif()

void clang::pp_trace::PPCallbacksTracker::Endif | ( | SourceLocation | Loc,
|  | SourceLocation | IfLoc
| ) |  |
| override

Definition at line 409 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ EndOfMainFile()

void clang::pp_trace::PPCallbacksTracker::EndOfMainFile | ( |  | ) |
| override

Definition at line 166 of file PPCallbacksTracker.cpp.

References beginCallback().

## ◆ FileChanged()

void clang::pp_trace::PPCallbacksTracker::FileChanged | ( | SourceLocation | Loc,
|  | PPCallbacks::FileChangeReason | Reason,
|  | SrcMgr::CharacteristicKind | FileType,
|  | FileID | PrevFID = `FileID()`
| ) |  |
| override

Definition at line 102 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ FileNotFound()

bool clang::pp_trace::PPCallbacksTracker::FileNotFound | ( | llvm::StringRef | FileName,
|  | llvm::SmallVectorImpl< char > & | RecoveryPath
| ) |  |
| override

Definition at line 127 of file PPCallbacksTracker.cpp.

References appendFilePathArgument(), and beginCallback().

## ◆ FileSkipped()

void clang::pp_trace::PPCallbacksTracker::FileSkipped | ( | const FileEntryRef & | SkippedFile,
|  | const Token & | FilenameTok,
|  | SrcMgr::CharacteristicKind | FileType
| ) |  |
| override

Definition at line 115 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ getSourceString()

llvm::StringRef clang::pp_trace::PPCallbacksTracker::getSourceString | ( | CharSourceRange | Range | ) |

Get the raw source string of the range.

Definition at line 656 of file PPCallbacksTracker.cpp.

References E, and PP.

Referenced by appendArgument().

## ◆ Ident()

void clang::pp_trace::PPCallbacksTracker::Ident | ( | SourceLocation | Loc,
|  | llvm::StringRef | str
| ) |  |
| override

Definition at line 169 of file PPCallbacksTracker.cpp.

## ◆ If()

void clang::pp_trace::PPCallbacksTracker::If | ( | SourceLocation | Loc,
|  | SourceRange | ConditionRange,
|  | ConditionValueKind | ConditionValue
| ) |  |
| override

Definition at line 364 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ Ifdef()

void clang::pp_trace::PPCallbacksTracker::Ifdef | ( | SourceLocation | Loc,
|  | const Token & | MacroNameTok,
|  | const MacroDefinition & | MD
| ) |  |
| override

Definition at line 384 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ Ifndef()

void clang::pp_trace::PPCallbacksTracker::Ifndef | ( | SourceLocation | Loc,
|  | const Token & | MacroNameTok,
|  | const MacroDefinition & | MD
| ) |  |
| override

Definition at line 393 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ InclusionDirective()

void clang::pp_trace::PPCallbacksTracker::InclusionDirective | ( | SourceLocation | HashLoc,
|  | const Token & | IncludeTok,
|  | llvm::StringRef | FileName,
|  | bool | IsAngled,
|  | CharSourceRange | FilenameRange,
|  | const FileEntry * | File,
|  | llvm::StringRef | SearchPath,
|  | llvm::StringRef | RelativePath,
|  | const Module * | Imported,
|  | SrcMgr::CharacteristicKind | FileType
| ) |  |
| override

Definition at line 137 of file PPCallbacksTracker.cpp.

References appendArgument(), appendFilePathArgument(), and beginCallback().

## ◆ MacroDefined()

void clang::pp_trace::PPCallbacksTracker::MacroDefined | ( | const Token & | MacroNameTok,
|  | const MacroDirective * | MD
| ) |  |
| override

Definition at line 330 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ MacroExpands()

void clang::pp_trace::PPCallbacksTracker::MacroExpands | ( | const Token & | MacroNameTok,
|  | const MacroDefinition & | MD,
|  | SourceRange | Range,
|  | const MacroArgs * | Args
| ) |  |
| override

Definition at line 318 of file PPCallbacksTracker.cpp.

## ◆ MacroUndefined()

void clang::pp_trace::PPCallbacksTracker::MacroUndefined | ( | const Token & | MacroNameTok,
|  | const MacroDefinition & | MD,
|  | const MacroDirective * | Undef
| ) |  |
| override

Definition at line 338 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ moduleImport()

void clang::pp_trace::PPCallbacksTracker::moduleImport | ( | SourceLocation | ImportLoc,
|  | ModuleIdPath | Path,
|  | const Module * | Imported
| ) |  |
| override

Definition at line 155 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ PragmaComment()

void clang::pp_trace::PPCallbacksTracker::PragmaComment | ( | SourceLocation | Loc,
|  | const IdentifierInfo * | Kind,
|  | llvm::StringRef | Str
| ) |  |
| override

Definition at line 184 of file PPCallbacksTracker.cpp.

## ◆ PragmaDebug()

void clang::pp_trace::PPCallbacksTracker::PragmaDebug | ( | SourceLocation | Loc,
|  | llvm::StringRef | DebugType
| ) |  |
| override

Definition at line 205 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ PragmaDetectMismatch()

void clang::pp_trace::PPCallbacksTracker::PragmaDetectMismatch | ( | SourceLocation | Loc,
|  | llvm::StringRef | Name,
|  | llvm::StringRef | Value
| ) |  |
| override

Definition at line 195 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ PragmaDiagnostic()

void clang::pp_trace::PPCallbacksTracker::PragmaDiagnostic | ( | SourceLocation | Loc,
|  | llvm::StringRef | Namespace,
|  | diag::Severity | mapping,
|  | llvm::StringRef | Str
| ) |  |
| override

Definition at line 243 of file PPCallbacksTracker.cpp.

## ◆ PragmaDiagnosticPop()

void clang::pp_trace::PPCallbacksTracker::PragmaDiagnosticPop | ( | SourceLocation | Loc,
|  | llvm::StringRef | Namespace
| ) |  |
| override

Definition at line 235 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ PragmaDiagnosticPush()

void clang::pp_trace::PPCallbacksTracker::PragmaDiagnosticPush | ( | SourceLocation | Loc,
|  | llvm::StringRef | Namespace
| ) |  |
| override

Definition at line 226 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ PragmaDirective()

void clang::pp_trace::PPCallbacksTracker::PragmaDirective | ( | SourceLocation | Loc,
|  | PragmaIntroducerKind | Introducer
| ) |  |
| override

Definition at line 176 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ PragmaExecCharsetPop()

void clang::pp_trace::PPCallbacksTracker::PragmaExecCharsetPop | ( | SourceLocation | Loc | ) |
| override

Definition at line 311 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ PragmaExecCharsetPush()

void clang::pp_trace::PPCallbacksTracker::PragmaExecCharsetPush | ( | SourceLocation | Loc,
|  | StringRef | Str
| ) |  |
| override

Definition at line 302 of file PPCallbacksTracker.cpp.

## ◆ PragmaMessage()

void clang::pp_trace::PPCallbacksTracker::PragmaMessage | ( | SourceLocation | Loc,
|  | llvm::StringRef | Namespace,
|  | PPCallbacks::PragmaMessageKind | Kind,
|  | llvm::StringRef | Str
| ) |  |
| override

Definition at line 213 of file PPCallbacksTracker.cpp.

## ◆ PragmaOpenCLExtension()

void clang::pp_trace::PPCallbacksTracker::PragmaOpenCLExtension | ( | SourceLocation | NameLoc,
|  | const IdentifierInfo * | Name,
|  | SourceLocation | StateLoc,
|  | unsigned | State
| ) |  |
| override

Definition at line 256 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ PragmaWarning()

void clang::pp_trace::PPCallbacksTracker::PragmaWarning | ( | SourceLocation | Loc,
|  | llvm::StringRef | WarningSpec,
|  | llvm::ArrayRef< int > | Ids
| ) |  |
| override

Definition at line 268 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ PragmaWarningPop()

void clang::pp_trace::PPCallbacksTracker::PragmaWarningPop | ( | SourceLocation | Loc | ) |
| override

Definition at line 295 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ PragmaWarningPush()

void clang::pp_trace::PPCallbacksTracker::PragmaWarningPush | ( | SourceLocation | Loc,
|  | int | Level
| ) |  |
| override

Definition at line 288 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## ◆ SourceRangeSkipped()

void clang::pp_trace::PPCallbacksTracker::SourceRangeSkipped | ( | SourceRange | Range,
|  | SourceLocation | EndifLoc
| ) |  |
| override

Definition at line 357 of file PPCallbacksTracker.cpp.

References appendArgument(), and beginCallback().

## Member Data Documentation

## ◆ CallbackCalls

std::vector<CallbackCall>& clang::pp_trace::PPCallbacksTracker::CallbackCalls

Callback trace information.

We use a reference so the trace will be preserved for the caller after this object is destructed.

Definition at line 224 of file PPCallbacksTracker.h.

Referenced by appendArgument().

## ◆ CallbackIsEnabled

llvm::StringMap<bool> clang::pp_trace::PPCallbacksTracker::CallbackIsEnabled

Definition at line 230 of file PPCallbacksTracker.h.

Referenced by beginCallback().

## ◆ DisableTrace

bool clang::pp_trace::PPCallbacksTracker::DisableTrace

Inhibit trace while this is set.

Definition at line 233 of file PPCallbacksTracker.h.

Referenced by appendArgument().

## ◆ Filters

const FilterType& clang::pp_trace::PPCallbacksTracker::Filters

Definition at line 227 of file PPCallbacksTracker.h.

## ◆ PP

Preprocessor& clang::pp_trace::PPCallbacksTracker::PP

Definition at line 235 of file PPCallbacksTracker.h.

Referenced by appendArgument(), and getSourceString().

The documentation for this class was generated from the following files:

- PPCallbacksTracker.h
- PPCallbacksTracker.cpp