class FalsePositiveRefutationBRVisitor
Declaration
class FalsePositiveRefutationBRVisitor : public BugReporterVisitor { /* full declaration omitted */ };
Description
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
Declared at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h:596
Inherits from: BugReporterVisitor
Member Variables
- private clang::ento::ConstraintMap Constraints
- Holds the constraints in a given path
Method Overview
- public FalsePositiveRefutationBRVisitor()
- public void Profile(llvm::FoldingSetNodeID & ID) const
- public clang::ento::PathDiagnosticPieceRef VisitNode(const clang::ento::ExplodedNode * N, clang::ento::BugReporterContext & BRC, clang::ento::PathSensitiveBugReport & BR)
- public void addConstraints(const clang::ento::ExplodedNode * N, bool OverwriteConstraintsOnExistingSyms)
- public void finalizeVisitor(clang::ento::BugReporterContext & BRC, const clang::ento::ExplodedNode * EndPathNode, clang::ento::PathSensitiveBugReport & BR)
Inherited from BugReporterVisitor:
Inherited from FoldingSetBase::Node:
Methods
¶FalsePositiveRefutationBRVisitor()
FalsePositiveRefutationBRVisitor()
Declared at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h:602
¶void Profile(llvm::FoldingSetNodeID& ID) const
void Profile(llvm::FoldingSetNodeID& ID) const
Declared at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h:604
Parameters
¶clang::ento::PathDiagnosticPieceRef VisitNode(
const clang::ento::ExplodedNode* N,
clang::ento::BugReporterContext& BRC,
clang::ento::PathSensitiveBugReport& BR)
clang::ento::PathDiagnosticPieceRef VisitNode(
const clang::ento::ExplodedNode* N,
clang::ento::BugReporterContext& BRC,
clang::ento::PathSensitiveBugReport& BR)
Description
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 \ref 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.
Declared at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h:606
Parameters
- const clang::ento::ExplodedNode* N
- clang::ento::BugReporterContext& BRC
- clang::ento::PathSensitiveBugReport& BR
¶void addConstraints(
const clang::ento::ExplodedNode* N,
bool OverwriteConstraintsOnExistingSyms)
void addConstraints(
const clang::ento::ExplodedNode* N,
bool OverwriteConstraintsOnExistingSyms)
Declared at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h:612
Parameters
- const clang::ento::ExplodedNode* N
- bool OverwriteConstraintsOnExistingSyms
¶void finalizeVisitor(
clang::ento::BugReporterContext& BRC,
const clang::ento::ExplodedNode* EndPathNode,
clang::ento::PathSensitiveBugReport& BR)
void finalizeVisitor(
clang::ento::BugReporterContext& BRC,
const clang::ento::ExplodedNode* EndPathNode,
clang::ento::PathSensitiveBugReport& BR)
Description
Last function called on the visitor, no further calls to VisitNode would follow.
Declared at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h:610
Parameters
- clang::ento::BugReporterContext& BRC
- const clang::ento::ExplodedNode* EndPathNode
- clang::ento::PathSensitiveBugReport& BR