clang 22.0.0git
clang::ento::TrackConstraintBRVisitor Class Referencefinal

#include "clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h"

Inheritance diagram for clang::ento::TrackConstraintBRVisitor:
[legend]

Public Member Functions

 TrackConstraintBRVisitor (DefinedSVal constraint, bool assumption, StringRef Message)
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.
Public Member Functions inherited from clang::ento::BugReporterVisitor
 BugReporterVisitor ()=default
 BugReporterVisitor (const BugReporterVisitor &)=default
 BugReporterVisitor (BugReporterVisitor &&)
BugReporterVisitoroperator= (const BugReporterVisitor &)=delete
BugReporterVisitoroperator= (BugReporterVisitor &&)=delete
virtual ~BugReporterVisitor ()
virtual void finalizeVisitor (BugReporterContext &BRC, const ExplodedNode *EndPathNode, PathSensitiveBugReport &BR)
 Last function called on the visitor, no further calls to VisitNode would follow.
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.

Static Public Member Functions

static const char * getTag ()
 Return the tag associated with this visitor.
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.

Detailed Description

Definition at line 395 of file BugReporterVisitors.h.

Constructor & Destructor Documentation

◆ TrackConstraintBRVisitor()

clang::ento::TrackConstraintBRVisitor::TrackConstraintBRVisitor ( DefinedSVal constraint,
bool assumption,
StringRef Message )
inline

Definition at line 406 of file BugReporterVisitors.h.

Member Function Documentation

◆ getTag()

const char * TrackConstraintBRVisitor::getTag ( )
static

Return the tag associated with this visitor.

This tag will be used to make all PathDiagnosticPieces created by this visitor.

Definition at line 1777 of file BugReporterVisitors.cpp.

Referenced by eventsDescribeSameCondition(), and VisitNode().

◆ Profile()

void TrackConstraintBRVisitor::Profile ( llvm::FoldingSetNodeID & ID) const
overridevirtual

Implements clang::ento::BugReporterVisitor.

Definition at line 1767 of file BugReporterVisitors.cpp.

◆ VisitNode()

PathDiagnosticPieceRef TrackConstraintBRVisitor::VisitNode ( const ExplodedNode * Succ,
BugReporterContext & BRC,
PathSensitiveBugReport & BR )
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 1791 of file BugReporterVisitors.cpp.

References clang::ento::PathDiagnosticLocation::create(), clang::ento::ExplodedNode::getFirstPred(), clang::ento::ExplodedNode::getLocation(), clang::ento::BugReporterContext::getSourceManager(), getTag(), clang::ProgramPoint::getTag(), clang::ento::PathDiagnosticLocation::isValid(), and X.


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