clang 20.0.0git
Classes | Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
clang::ento::ExplodedNode Class Reference

#include "clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h"

Inheritance diagram for clang::ento::ExplodedNode:
Inheritance graph
[legend]

Public Types

using succ_iterator = ExplodedNode *const *
 
using succ_range = llvm::iterator_range< succ_iterator >
 
using const_succ_iterator = const ExplodedNode *const *
 
using const_succ_range = llvm::iterator_range< const_succ_iterator >
 
using pred_iterator = ExplodedNode *const *
 
using pred_range = llvm::iterator_range< pred_iterator >
 
using const_pred_iterator = const ExplodedNode *const *
 
using const_pred_range = llvm::iterator_range< const_pred_iterator >
 

Public Member Functions

 ExplodedNode (const ProgramPoint &loc, ProgramStateRef state, int64_t Id, bool IsSink)
 
ProgramPoint getLocation () const
 getLocation - Returns the edge associated with the given node.
 
const LocationContextgetLocationContext () const
 
const StackFrameContextgetStackFrame () const
 
const DeclgetCodeDecl () const
 
CFGgetCFG () const
 
const CFGBlockgetCFGBlock () const
 
const ParentMapgetParentMap () const
 
template<typename T >
TgetAnalysis () const
 
const ProgramStateRefgetState () const
 
template<typename T >
std::optional< TgetLocationAs () const &
 
SVal getSVal (const Stmt *S) const
 Get the value of an arbitrary expression at this node.
 
void Profile (llvm::FoldingSetNodeID &ID) const
 
void addPredecessor (ExplodedNode *V, ExplodedGraph &G)
 addPredeccessor - Adds a predecessor to the current node, and in tandem add this node as a successor of the other node.
 
unsigned succ_size () const
 
unsigned pred_size () const
 
bool succ_empty () const
 
bool pred_empty () const
 
bool isSink () const
 
bool hasSinglePred () const
 
ExplodedNodegetFirstPred ()
 
const ExplodedNodegetFirstPred () const
 
ExplodedNodegetFirstSucc ()
 
const ExplodedNodegetFirstSucc () const
 
pred_iterator pred_begin ()
 
pred_iterator pred_end ()
 
pred_range preds ()
 
const_pred_iterator pred_begin () const
 
const_pred_iterator pred_end () const
 
const_pred_range