clang 20.0.0git
|
#include "clang/Analysis/MacroExpansionContext.h"
#include "clang/Analysis/PathDiagnostic.h"
#include "clang/Basic/FileManager.h"
#include "clang/Basic/Sarif.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Basic/Version.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/Support/ConvertUTF.h"
#include "llvm/Support/JSON.h"
#include "llvm/Support/Path.h"
#include "clang/StaticAnalyzer/Checkers/Checkers.inc"
Go to the source code of this file.
Macros | |
#define | GET_CHECKERS |
#define | CHECKER(FULLNAME, CLASS, HELPTEXT, DOC_URI, IS_HIDDEN) .Case(FULLNAME, HELPTEXT) |
#define | GET_CHECKERS |
#define | CHECKER(FULLNAME, CLASS, HELPTEXT, DOC_URI, IS_HIDDEN) .Case(FULLNAME, DOC_URI) |
Functions | |
static StringRef | getRuleDescription (StringRef CheckName) |
static StringRef | getRuleHelpURIStr (StringRef CheckName) |
static ThreadFlowImportance | calculateImportance (const PathDiagnosticPiece &Piece) |
static CharSourceRange | convertTokenRangeToCharRange (const SourceRange &R, const SourceManager &SM, const LangOptions &LO) |
Accepts a SourceRange corresponding to a pair of the first and last tokens and converts to a Character granular CharSourceRange. | |
static SmallVector< ThreadFlow, 8 > | createThreadFlows (const PathDiagnostic *Diag, const LangOptions &LO) |
static StringMap< uint32_t > | createRuleMapping (const std::vector< const PathDiagnostic * > &Diags, SarifDocumentWriter &SarifWriter) |
static SarifResult | createResult (const PathDiagnostic *Diag, const StringMap< uint32_t > &RuleMapping, const LangOptions &LO) |
#define CHECKER | ( | FULLNAME, | |
CLASS, | |||
HELPTEXT, | |||
DOC_URI, | |||
IS_HIDDEN | |||
) | .Case(FULLNAME, HELPTEXT) |
#define CHECKER | ( | FULLNAME, | |
CLASS, | |||
HELPTEXT, | |||
DOC_URI, | |||
IS_HIDDEN | |||
) | .Case(FULLNAME, DOC_URI) |
#define GET_CHECKERS |
#define GET_CHECKERS |
|
static |
Definition at line 92 of file SarifDiagnostics.cpp.
References clang::ento::PathDiagnosticPiece::Call, clang::ento::PathDiagnosticPiece::ControlFlow, clang::ento::PathDiagnosticPiece::Event, clang::ento::PathDiagnosticPiece::getKind(), clang::ento::PathDiagnosticPiece::getTagStr(), clang::ento::PathDiagnosticPiece::Macro, clang::ento::PathDiagnosticPiece::Note, and clang::ento::PathDiagnosticPiece::PopUp.
Referenced by createThreadFlows().
|
static |
Accepts a SourceRange corresponding to a pair of the first and last tokens and converts to a Character granular CharSourceRange.
Definition at line 112 of file SarifDiagnostics.cpp.
References clang::SourceRange::getBegin(), clang::CharSourceRange::getCharRange(), clang::SourceRange::getEnd(), clang::Lexer::getLocForEndOfToken(), and SM.
Referenced by createResult(), and createThreadFlows().
|
static |
Definition at line 167 of file SarifDiagnostics.cpp.
References convertTokenRangeToCharRange(), clang::SarifResult::create(), createThreadFlows(), Diag(), clang::SarifResult::setDiagnosticLevel(), clang::SarifResult::setDiagnosticMessage(), clang::SarifResult::setLocations(), and clang::SarifResult::setRuleId().
|
static |
Definition at line 146 of file SarifDiagnostics.cpp.
References clang::SarifRule::create(), clang::SarifDocumentWriter::createRule(), D, getRuleDescription(), getRuleHelpURIStr(), P, clang::SarifRule::setDescription(), clang::SarifRule::setHelpURI(), clang::SarifRule::setName(), and clang::SarifRule::setRuleId().
|
static |
Definition at line 129 of file SarifDiagnostics.cpp.
References calculateImportance(), convertTokenRangeToCharRange(), clang::ThreadFlow::create(), Diag(), clang::ThreadFlow::setImportance(), clang::ThreadFlow::setMessage(), and clang::ThreadFlow::setRange().
Referenced by createResult().
|
static |
Definition at line 69 of file SarifDiagnostics.cpp.
Referenced by createRuleMapping().
|
static |
Definition at line 80 of file SarifDiagnostics.cpp.
Referenced by createRuleMapping().