clang 10.0.0git

Public Member Functions | List of all members
TokenCollector::CollectPPExpansions Class Reference

Records information reqired to construct mappings for the token buffer that we are collecting. More...

Inheritance diagram for TokenCollector::CollectPPExpansions:
[legend]
Collaboration diagram for TokenCollector::CollectPPExpansions:
[legend]

## Public Member Functions
| CollectPPExpansions (TokenCollector &C)
void | disable ()
| Disabled instance will stop reporting anything to TokenCollector. More...
void | MacroExpands (const clang::Token &MacroNameTok, const MacroDefinition &MD, SourceRange Range, const MacroArgs *Args) override
| Called by Preprocessor::HandleMacroExpandedIdentifier when a macro invocation is found. More...
Public Member Functions inherited from clang::PPCallbacks
virtual | ~PPCallbacks ()
virtual void | FileChanged (SourceLocation Loc, FileChangeReason Reason, SrcMgr::CharacteristicKind FileType, FileID PrevFID=FileID())
| Callback invoked whenever a source file is entered or exited. More...
virtual void | FileSkipped (const FileEntryRef &SkippedFile, const Token &FilenameTok, SrcMgr::CharacteristicKind FileType)
| Callback invoked whenever a source file is skipped as the result of header guard optimization. More...
virtual bool | FileNotFound (StringRef FileName, SmallVectorImpl< char > &RecoveryPath)
| Callback invoked whenever an inclusion directive results in a file-not-found error. More...
virtual void | InclusionDirective (SourceLocation HashLoc, const Token &IncludeTok, StringRef FileName, bool IsAngled, CharSourceRange FilenameRange, const FileEntry *File, StringRef SearchPath, StringRef RelativePath, const Module *Imported, SrcMgr::CharacteristicKind FileType)
| Callback invoked whenever an inclusion directive of any kind (`#include`, `#import`, etc.) has been processed, regardless of whether the inclusion will actually result in an inclusion. More...
virtual void | EnteredSubmodule (Module *M, SourceLocation ImportLoc, bool ForPragma)
| Callback invoked whenever a submodule was entered. More...
virtual void | LeftSubmodule (Module *M, SourceLocation ImportLoc, bool ForPragma)
| Callback invoked whenever a submodule was left. More...
virtual void | moduleImport (SourceLocation ImportLoc, ModuleIdPath Path, const Module *Imported)
| Callback invoked whenever there was an explicit module-import syntax. More...
virtual void | EndOfMainFile ()
| Callback invoked when the end of the main file is reached. More...
virtual void | Ident (SourceLocation Loc, StringRef str)
| Callback invoked when a #ident or #sccs directive is read. More...
virtual void | PragmaDirective (SourceLocation Loc, PragmaIntroducerKind Introducer)
| Callback invoked when start reading any pragma directive. More...
virtual void | PragmaComment (SourceLocation Loc, const IdentifierInfo *Kind, StringRef Str)
| Callback invoked when a #pragma comment directive is read. More...
virtual void | PragmaDetectMismatch (SourceLocation Loc, StringRef Name, StringRef Value)
| Callback invoked when a #pragma detect_mismatch directive is read. More...
virtual void | PragmaDebug (SourceLocation Loc, StringRef DebugType)
| Callback invoked when a #pragma clang __debug directive is read. More...
virtual void | PragmaMessage (SourceLocation Loc, StringRef Namespace, PragmaMessageKind Kind, StringRef Str)
| Callback invoked when a #pragma message directive is read. More...
virtual void | PragmaDiagnosticPush (SourceLocation Loc, StringRef Namespace)
| Callback invoked when a #pragma gcc diagnostic push directive is read. More...
virtual void | PragmaDiagnosticPop (SourceLocation Loc, StringRef Namespace)
| Callback invoked when a #pragma gcc diagnostic pop directive is read. More...
virtual void | PragmaDiagnostic (SourceLocation Loc, StringRef Namespace, diag::Severity mapping, StringRef Str)
| Callback invoked when a #pragma gcc diagnostic directive is read. More...
virtual void | PragmaOpenCLExtension (SourceLocation NameLoc, const IdentifierInfo *Name, SourceLocation StateLoc, unsigned State)
| Called when an OpenCL extension is either disabled or enabled with a pragma. More...
virtual void | PragmaWarning (SourceLocation Loc, StringRef WarningSpec, ArrayRef< int > Ids)
| Callback invoked when a #pragma warning directive is read. More...
virtual void | PragmaWarningPush (SourceLocation Loc, int Level)
| Callback invoked when a #pragma warning(push) directive is read. More...
virtual void | PragmaWarningPop (SourceLocation Loc)
| Callback invoked when a #pragma warning(pop) directive is read. More...
virtual void | PragmaExecCharsetPush (SourceLocation Loc, StringRef Str)
| Callback invoked when a #pragma execution_character_set(push) directive is read. More...
virtual void | PragmaExecCharsetPop (SourceLocation Loc)
| Callback invoked when a #pragma execution_character_set(pop) directive is read. More...
virtual void | PragmaAssumeNonNullBegin (SourceLocation Loc)
| Callback invoked when a #pragma clang assume_nonnull begin directive is read. More...
virtual void | PragmaAssumeNonNullEnd (SourceLocation Loc)
| Callback invoked when a #pragma clang assume_nonnull end directive is read. More...
virtual void | MacroDefined (const Token &MacroNameTok, const MacroDirective *MD)
| Hook called whenever a macro definition is seen. More...
virtual void | MacroUndefined (const Token &MacroNameTok, const MacroDefinition &MD, const MacroDirective *Undef)
| Hook called whenever a macro #undef is seen. More...
virtual void | Defined (const Token &MacroNameTok, const MacroDefinition &MD, SourceRange Range)
| Hook called whenever the 'defined' operator is seen. More...
virtual void | HasInclude (SourceLocation Loc, StringRef FileName, bool IsAngled, Optional< FileEntryRef > File, SrcMgr::CharacteristicKind FileType)
| Hook called when a '__has_include' or '__has_include_next' directive is read. More...
virtual void | SourceRangeSkipped (SourceRange Range, SourceLocation EndifLoc)
| Hook called when a source range is skipped. More...
virtual void | If (SourceLocation Loc, SourceRange ConditionRange, ConditionValueKind ConditionValue)
| Hook called whenever an #if is seen. More...
virtual void | Elif (SourceLocation Loc, SourceRange ConditionRange, ConditionValueKind ConditionValue, SourceLocation IfLoc)
| Hook called whenever an #elif is seen. More...
virtual void | Ifdef (SourceLocation Loc, const Token &MacroNameTok, const MacroDefinition &MD)
| Hook called whenever an #ifdef is seen. More...
virtual void | Ifndef (SourceLocation Loc, const Token &MacroNameTok, const MacroDefinition &MD)
| Hook called whenever an #ifndef is seen. More...
virtual void | Else (SourceLocation Loc, SourceLocation IfLoc)
| Hook called whenever an #else is seen. More...
virtual void | Endif (SourceLocation Loc, SourceLocation IfLoc)
| Hook called whenever an #endif is seen. More...

## Additional Inherited Members
Public Types inherited from clang::PPCallbacks
enum | FileChangeReason { EnterFile, ExitFile, SystemHeaderPragma, RenameFile }
enum | PragmaMessageKind { PMK_Message, PMK_Warning, PMK_Error }
| Determines the kind of #pragma invoking a call to PragmaMessage. More...
enum | ConditionValueKind { CVK_NotEvaluated, CVK_False, CVK_True }

## Detailed Description

Records information reqired to construct mappings for the token buffer that we are collecting.

Definition at line 325 of file Tokens.cpp.

## Constructor & Destructor Documentation

## ◆ CollectPPExpansions()

TokenCollector::CollectPPExpansions::CollectPPExpansions | ( | TokenCollector & | C | ) |
| inline

Definition at line 327 of file Tokens.cpp.

## Member Function Documentation

## ◆ disable()

void TokenCollector::CollectPPExpansions::disable | ( |  | ) |
| inline

Disabled instance will stop reporting anything to TokenCollector.

This ensures that uses of the preprocessor after TokenCollector::consume() is called do not access the (possibly invalid) collector instance.

Definition at line 332 of file Tokens.cpp.

## ◆ MacroExpands()

void TokenCollector::CollectPPExpansions::MacroExpands | ( | const clang::Token & | MacroNameTok,
|  | const MacroDefinition & | MD,
|  | SourceRange | Range,
|  | const MacroArgs * | Args
| ) |  |
| inline override virtual

Called by Preprocessor::HandleMacroExpandedIdentifier when a macro invocation is found.

Reimplemented from clang::PPCallbacks.

Definition at line 334 of file Tokens.cpp.

References clang::SourceRange::getBegin(), clang::SourceRange::getEnd(), clang::Token::getLocation(), clang::SourceLocation::getRawEncoding(), and clang::SourceLocation::isFileID().

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

- lib/Tooling/Syntax/Tokens.cpp