clang API Documentation
#include <BugReporterVisitor.h>


Public Member Functions | |
| FindLastStoreBRVisitor (KnownSVal V, const MemRegion *R, bool InEnableNullFPSuppression) | |
| void | Profile (llvm::FoldingSetNodeID &ID) const override |
| PathDiagnosticPiece * | VisitNode (const ExplodedNode *N, const ExplodedNode *PrevN, BugReporterContext &BRC, BugReport &BR) override |
| Return a diagnostic piece which should be associated with the given node. | |
Static Public Member Functions | |
| static void | registerStatementVarDecls (BugReport &BR, const Stmt *S, bool EnableNullFPSuppression) |
Definition at line 95 of file BugReporterVisitor.h.
| clang::ento::FindLastStoreBRVisitor::FindLastStoreBRVisitor | ( | KnownSVal | V, |
| const MemRegion * | R, | ||
| bool | InEnableNullFPSuppression | ||
| ) | [inline] |
Definition at line 112 of file BugReporterVisitor.h.
| void FindLastStoreBRVisitor::Profile | ( | llvm::FoldingSetNodeID & | ID | ) | const [override, virtual] |
Implements clang::ento::BugReporterVisitor.
Definition at line 410 of file BugReporterVisitors.cpp.
| void FindLastStoreBRVisitor::registerStatementVarDecls | ( | BugReport & | BR, |
| const Stmt * | S, | ||
| bool | EnableNullFPSuppression | ||
| ) | [static] |
Creates a visitor for every VarDecl inside a Stmt and registers it with the BugReport.
Definition at line 1104 of file BugReporterVisitors.cpp.
References clang::ento::BugReport::addVisitor(), clang::ento::SVal::castAs(), clang::Stmt::child_begin(), clang::Stmt::child_end(), clang::ento::SVal::getAs(), clang::ento::BugReport::getErrorNode(), clang::ento::ExplodedNode::getLocationContext(), clang::ento::ProgramStateManager::getRegionManager(), clang::ento::ExplodedNode::getState(), and clang::ento::MemRegionManager::getVarRegion().
| PathDiagnosticPiece * FindLastStoreBRVisitor::VisitNode | ( | const ExplodedNode * | Succ, |
| const ExplodedNode * | Pred, | ||
| BugReporterContext & | BRC, | ||
| BugReport & | BR | ||
| ) | [override, virtual] |
Return a diagnostic piece which should be associated with the given node.
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 447 of file BugReporterVisitors.cpp.
References clang::ento::BugReport::addVisitor(), clang::ento::PathDiagnosticLocation::asLocation(), clang::ento::MemRegion::canPrintPretty(), clang::ento::PathDiagnosticLocation::create(), clang::ento::SVal::getAs(), clang::ProgramPoint::getAs(), clang::ento::SVal::getAsRegion(), clang::CallEventManager::getCaller(), clang::ParmVarDecl::getFunctionScopeIndex(), clang::VarDecl::getInit(), clang::ento::ExplodedNode::getLocation(), clang::ento::ExplodedNode::getLocationAs(), clang::ProgramPoint::getLocationContext(), clang::DeclStmt::getSingleDecl(), clang::ento::BugReporterContext::getSourceManager(), clang::ento::ExplodedNode::getState(), clang::ento::BugReporterContext::getStateManager(), clang::ValueDecl::getType(), clang::Expr::IgnoreParenCasts(), clang::ento::MemRegion::isBoundable(), isInitializationOfVar(), clang::Type::isObjCObjectPointerType(), clang::ento::SVal::isUndef(), clang::SourceLocation::isValid(), clang::ento::PathDiagnosticLocation::isValid(), P, clang::ento::MemRegion::printPretty(), S, and clang::ento::bugreporter::trackNullOrUndefValue().