clang 20.0.0git
|
#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 <optional>
#include <utility>
Go to the source code of this file.
Classes | |
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 |
Prints path notes when a message is sent to a nil receiver. More... | |
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::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... | |
Namespaces | |
namespace | clang |
The JSON file list parser is used to communicate input to InstallAPI. | |
namespace | clang::ento |
namespace | clang::ento::bugreporter |
Typedefs | |
using | clang::ento::bugreporter::TrackerRef = llvm::IntrusiveRefCntPtr< Tracker > |
Enumerations | |
enum class | clang::ento::bugreporter::TrackingKind { clang::ento::bugreporter::Thorough , clang::ento::bugreporter::Condition } |
Specifies the type of tracking for an expression. More... | |
Functions | |
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. | |
void | clang::ento::bugreporter::trackStoredValue (SVal 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. | |
const Expr * | clang::ento::bugreporter::getDerefExpr (const Stmt *S) |
Given that expression S represents a pointer that would be dereferenced, try to find a sub-expression from which the pointer came from. | |