clang  14.0.0git
Classes | Namespaces | Typedefs | Enumerations | Functions
BugReporterVisitors.h File Reference
#include "clang/Analysis/ProgramPoint.h"
#include "clang/Basic/LLVM.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/SVals.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/IntrusiveRefCntPtr.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/StringRef.h"
#include <list>
#include <memory>
#include <utility>
Include dependency graph for BugReporterVisitors.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


class  clang::ento::BugReporterVisitor
 BugReporterVisitors are used to add custom diagnostics along a path. More...
struct  clang::ento::bugreporter::TrackingOptions
 Defines a set of options altering tracking behavior. More...
struct  clang::ento::bugreporter::StoreInfo
 Describes an event when the value got stored into a memory region. More...
class  clang::ento::bugreporter::Tracker
 A generalized component for tracking expressions, values, and stores. More...
struct  clang::ento::bugreporter::Tracker::Result
 Describes a tracking result with the most basic information of what was actually done (or not done). More...
class  clang::ento::bugreporter::ExpressionHandler
 Handles expressions during the tracking. More...
class  clang::ento::bugreporter::StoreHandler
 Handles stores during the tracking. More...
class  clang::ento::bugreporter::TrackingBugReporterVisitor
 Visitor that tracks expressions and values. More...
class  clang::ento::TrackConstraintBRVisitor
class  clang::ento::NilReceiverBRVisitor
class  clang::ento::ConditionBRVisitor
 Visitor that tries to report interesting diagnostics from conditions. More...
class  clang::ento::LikelyFalsePositiveSuppressionBRVisitor
 Suppress reports that might lead to known false positives. More...
class  clang::ento::UndefOrNullArgVisitor
 When a region containing undefined value or '0' value is passed as an argument in a call, marks the call as interesting. More...
class  clang::ento::SuppressInlineDefensiveChecksVisitor
class  clang::ento::FalsePositiveRefutationBRVisitor
 The bug visitor will walk all the nodes in a path and collect all the constraints. More...
class  clang::ento::TagVisitor
 The visitor detects NoteTags and displays the event notes they contain. More...
class  clang::ento::NoStateChangeFuncVisitor
 Put a diagnostic on return statement (or on } in its absence) of all inlined functions for which some property remained unchanged. More...




using clang::ento::bugreporter::TrackerRef = llvm::IntrusiveRefCntPtr< Tracker >


enum  clang::ento::bugreporter::TrackingKind { clang::ento::bugreporter::TrackingKind::Thorough, clang::ento::bugreporter::TrackingKind::Condition }
 Specifies the type of tracking for an expression. More...


bool clang::ento::bugreporter::trackExpressionValue (const ExplodedNode *N, const Expr *E, PathSensitiveBugReport &R, TrackingOptions Opts={})
 Attempts to add visitors to track expression value back to its point of origin. More...
void clang::ento::bugreporter::trackStoredValue (KnownSVal V, const MemRegion *R, PathSensitiveBugReport &Report, TrackingOptions Opts={}, const StackFrameContext *Origin=nullptr)
 Track how the value got stored into the given region and where it came from. More...
const Expr * clang::ento::bugreporter::getDerefExpr (const Stmt *S)