clang 20.0.0git
|
Public Member Functions | |
RefCountReportVisitor (SymbolRef sym) | |
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. | |
PathDiagnosticPieceRef | getEndPath (BugReporterContext &BRC, const ExplodedNode *N, PathSensitiveBugReport &BR) override |
Provide custom definition for the final diagnostic piece on the path - the piece, which is displayed before the path is expanded. | |
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 | VisitNode (const ExplodedNode *Succ, BugReporterContext &BRC, PathSensitiveBugReport &BR)=0 |
Return a diagnostic piece which should be associated with the given node. | |
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. | |
virtual void | Profile (llvm::FoldingSetNodeID &ID) const =0 |
Protected Attributes | |
SymbolRef | Sym |
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. | |
Definition at line 312 of file RetainCountDiagnostics.cpp.
|
inline |
Definition at line 317 of file RetainCountDiagnostics.cpp.
|
overridevirtual |
Provide custom definition for the final diagnostic piece on the path - the piece, which is displayed before the path is expanded.
NOTE that this function can be implemented on at most one used visitor, and otherwise it crahes at runtime.
Reimplemented from clang::ento::BugReporterVisitor.
Reimplemented in clang::ento::retaincountchecker::RefLeakReportVisitor.
Definition at line 754 of file RetainCountDiagnostics.cpp.
References clang::ento::BugReporterVisitor::getDefaultEndPath(), clang::ento::PathSensitiveBugReport::markInteresting(), and Sym.
|
inlineoverridevirtual |
Implements clang::ento::BugReporterVisitor.
Definition at line 319 of file RetainCountDiagnostics.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 453 of file RetainCountDiagnostics.cpp.
References annotateConsumedSummaryMismatch(), annotateStartParameter(), clang::ProgramPoint::castAs(), clang::ento::PathDiagnosticLocation::create(), clang::ento::retaincountchecker::RefCountBug::DeallocNotOwned, clang::ento::retaincountchecker::RefCountBug::FreeNotOwned, generateDiagnosticsForCallLike(), clang::ProgramPoint::getAs(), clang::ento::BugReport::getBugType(), clang::ento::retaincountchecker::RefCountBug::getBugType(), clang::ento::ProgramStateManager::getCallEventManager(), clang::StackFrameContext::getCallSite(), clang::ento::retaincountchecker::RetainCountChecker::getCastFailTag(), clang::ento::retaincountchecker::RetainCountChecker::getDeallocSentTag(), clang::ento::ExplodedNode::getFirstPred(), clang::ento::ExplodedNode::getLocation(), clang::ento::ExplodedNode::getLocationAs(), clang::ento::ExplodedNode::getLocationContext(), clang::ento::retaincountchecker::getRefBinding(), clang::ento::BugReporterContext::getSourceManager(), clang::LocationContext::getStackFrame(), clang::ento::ExplodedNode::getState(), clang::ento::BugReporterContext::getStateManager(), clang::ProgramPoint::getTag(), clang::ento::retaincountchecker::RefVal::isNotOwned(), isNumericLiteralExpression(), clang::ento::retaincountchecker::RefVal::isOwned(), clang::ento::retaincountchecker::isSynthesizedAccessor(), P, shouldGenerateNote(), SM, and Sym.
|
protected |
Definition at line 314 of file RetainCountDiagnostics.cpp.
Referenced by getEndPath(), clang::ento::retaincountchecker::RefLeakReportVisitor::getEndPath(), and VisitNode().