clang
19.0.0git
|
The bug visitor will walk all the nodes in a path and collect all the constraints. More...
#include "clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h"
Public Member Functions | |
FalsePositiveRefutationBRVisitor () | |
void | Profile (llvm::FoldingSetNodeID &ID) const override |
PathDiagnosticPieceRef | VisitNode (const ExplodedNode *N, BugReporterContext &BRC, PathSensitiveBugReport &BR) override |
Return a diagnostic piece which should be associated with the given node. More... | |
void | finalizeVisitor (BugReporterContext &BRC, const ExplodedNode *EndPathNode, PathSensitiveBugReport &BR) override |
Last function called on the visitor, no further calls to VisitNode would follow. More... | |
void | addConstraints (const ExplodedNode *N, bool OverwriteConstraintsOnExistingSyms) |
Public Member Functions inherited from clang::ento::BugReporterVisitor | |
BugReporterVisitor ()=default | |
BugReporterVisitor (const BugReporterVisitor &)=default | |
BugReporterVisitor (BugReporterVisitor &&) | |
BugReporterVisitor & | operator= (const BugReporterVisitor &)=delete |
BugReporterVisitor & | operator= (BugReporterVisitor &&)=delete |
virtual | ~BugReporterVisitor () |
virtual PathDiagnosticPieceRef | getEndPath (BugReporterContext &BRC, const ExplodedNode *N, PathSensitiveBugReport &BR) |
Provide custom definition for the final diagnostic piece on the path - the piece, which is displayed before the path is expanded. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from clang::ento::BugReporterVisitor | |
static PathDiagnosticPieceRef | getDefaultEndPath (const BugReporterContext &BRC, const ExplodedNode *N, const PathSensitiveBugReport &BR) |
Generates the default final diagnostic piece. More... | |
The bug visitor will walk all the nodes in a path and collect all the constraints.
When it reaches the root node, will create a refutation manager and check if the constraints are satisfiable
Definition at line 603 of file BugReporterVisitors.h.
FalsePositiveRefutationBRVisitor::FalsePositiveRefutationBRVisitor | ( | ) |
Definition at line 3453 of file BugReporterVisitors.cpp.
void FalsePositiveRefutationBRVisitor::addConstraints | ( | const ExplodedNode * | N, |
bool | OverwriteConstraintsOnExistingSyms | ||
) |
Definition at line 3493 of file BugReporterVisitors.cpp.
References clang::ento::CF, clang::ento::getConstraintMap(), and clang::ento::ExplodedNode::getState().
Referenced by finalizeVisitor(), and VisitNode().
|
overridevirtual |
Last function called on the visitor, no further calls to VisitNode would follow.
Reimplemented from clang::ento::BugReporterVisitor.
Definition at line 3456 of file BugReporterVisitors.cpp.
References addConstraints(), clang::ento::BugReporterContext::getASTContext(), clang::ento::ExplodedNode::getLocationContext(), clang::ento::SMTConv::getRangeExpr(), and clang::ento::PathSensitiveBugReport::markInvalid().
|
overridevirtual |
Implements clang::ento::BugReporterVisitor.
Definition at line 3519 of file BugReporterVisitors.cpp.
References ID.
|
overridevirtual |
Return a diagnostic piece which should be associated with the given node.
Note that this function does not get run on the very last node of the report, as the PathDiagnosticPiece associated with the last node should be unique. Use getEndPath to customize the note associated with the report end instead.
The last parameter can be used to register a new visitor with the given BugReport while processing a node.
Implements clang::ento::BugReporterVisitor.
Definition at line 3513 of file BugReporterVisitors.cpp.
References addConstraints().