clang
15.0.0git
|
Stores additional source code information like skipped ranges which is required by the coverage mapping generator and is obtained from the preprocessor. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CoverageMappingGen.h"
Public Member Functions | |
CoverageSourceInfo (SourceManager &SourceMgr) | |
std::vector< SkippedRange > & | getSkippedRanges () |
void | AddSkippedRange (SourceRange Range) |
void | SourceRangeSkipped (SourceRange Range, SourceLocation EndifLoc) override |
Hook called when a source range is skipped. More... | |
void | HandleEmptyline (SourceRange Range) override |
bool | HandleComment (Preprocessor &PP, SourceRange Range) override |
void | updateNextTokLoc (SourceLocation Loc) |
![]() | |
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 void | InclusionDirective (SourceLocation HashLoc, const Token &IncludeTok, StringRef FileName, bool IsAngled, CharSourceRange FilenameRange, Optional< FileEntryRef > 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 | PragmaMark (SourceLocation Loc, StringRef Trivia) |
Callback invoked when a #pragma mark comment 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, PragmaWarningSpecifier WarningSpec, ArrayRef< int > Ids) |
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 | MacroExpands (const Token &MacroNameTok, const MacroDefinition &MD, SourceRange Range, const MacroArgs *Args) |
Called by Preprocessor::HandleMacroExpandedIdentifier when a macro invocation is found. 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 | 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 | Elifdef (SourceLocation Loc, const Token &MacroNameTok, const MacroDefinition &MD) |
Hook called whenever an #elifdef branch is taken. More... | |
virtual void | Elifdef (SourceLocation Loc, SourceRange ConditionRange, SourceLocation IfLoc) |
Hook called whenever an #elifdef is skipped. More... | |
virtual void | Ifndef (SourceLocation Loc, const Token &MacroNameTok, const MacroDefinition &MD) |
Hook called whenever an #ifndef is seen. More... | |
virtual void | Elifndef (SourceLocation Loc, const Token &MacroNameTok, const MacroDefinition &MD) |
Hook called whenever an #elifndef branch is taken. More... | |
virtual void | Elifndef (SourceLocation Loc, SourceRange ConditionRange, SourceLocation IfLoc) |
Hook called whenever an #elifndef is skipped. 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... | |
![]() | |
virtual | ~CommentHandler () |
![]() | |
virtual | ~EmptylineHandler () |
Public Attributes | |
SourceLocation | PrevTokLoc |
Additional Inherited Members | |
![]() | |
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 | PragmaWarningSpecifier { PWS_Default, PWS_Disable, PWS_Error, PWS_Once, PWS_Suppress, PWS_Level1, PWS_Level2, PWS_Level3, PWS_Level4 } |
Callback invoked when a #pragma warning directive is read. More... | |
enum | ConditionValueKind { CVK_NotEvaluated, CVK_False, CVK_True } |
Stores additional source code information like skipped ranges which is required by the coverage mapping generator and is obtained from the preprocessor.
Definition at line 48 of file CoverageMappingGen.h.
|
inline |
Definition at line 61 of file CoverageMappingGen.h.
void CoverageSourceInfo::AddSkippedRange | ( | SourceRange | Range | ) |
Definition at line 63 of file CoverageMappingGen.cpp.
References EmptyLineCommentCoverage().
|
inline |
Definition at line 63 of file CoverageMappingGen.h.
|
overridevirtual |
Implements clang::CommentHandler.
Definition at line 81 of file CoverageMappingGen.cpp.
|
overridevirtual |
Implements clang::EmptylineHandler.
Definition at line 77 of file CoverageMappingGen.cpp.
|
overridevirtual |
Hook called when a source range is skipped.
Range | The SourceRange that was skipped. The range begins at the #if/#else directive and ends after the #endif/#else directive. |
EndifLoc | The end location of the 'endif' token, which may precede the range skipped by the directive (e.g excluding comments after an 'endif'). |
Reimplemented from clang::PPCallbacks.
Definition at line 73 of file CoverageMappingGen.cpp.
void CoverageSourceInfo::updateNextTokLoc | ( | SourceLocation | Loc | ) |
Definition at line 86 of file CoverageMappingGen.cpp.
Referenced by clang::CodeGen::CoverageMappingModuleGen::setUpCoverageCallbacks().
SourceLocation clang::CoverageSourceInfo::PrevTokLoc |
Definition at line 59 of file CoverageMappingGen.h.
Referenced by clang::CodeGen::CoverageMappingModuleGen::setUpCoverageCallbacks().