#include "clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h"
Definition at line 303 of file ExplodedGraph.h.
◆ AllNodesTy ◆ const_eop_iterator ◆ const_node_iterator ◆ const_roots_iterator ◆ eop_iterator ◆ node_iterator ◆ NodeMap ◆ NodeTy ◆ NodeVector ◆ roots_iterator ◆ ExplodedGraph() ExplodedGraph::ExplodedGraph ( ) default ◆ ~ExplodedGraph() ExplodedGraph::~ExplodedGraph ( ) default ◆ addEndOfPath() ◆ addRoot() ◆ createUncachedNode()Create a node for a (Location, State) pair, but don't store it for deduplication later.
This is useful when copying an already completed ExplodedGraph for further processing.
Definition at line 432 of file ExplodedGraph.cpp.
References getAllocator(), Id, and V.
◆ empty() bool clang::ento::ExplodedGraph::empty ( ) const inline ◆ enableNodeReclamation() void clang::ento::ExplodedGraph::enableNodeReclamation ( unsigned Interval ) inline ◆ eop_begin() [1/2] ◆ eop_begin() [2/2] ◆ eop_end() [1/2] ◆ eop_end() [2/2] ◆ getAllocator() llvm::BumpPtrAllocator & clang::ento::ExplodedGraph::getAllocator ( ) inline ◆ getNode()Retrieve the node associated with a (Location,State) pair, where the 'Location' is a ProgramPoint in the CFG.
If no node for this pair exists, it is created. IsNew is set to true if the node was freshly created.
Definition at line 394 of file ExplodedGraph.cpp.
References ChangedNodes, FreeNodes, getAllocator(), Nodes, NumNodes, clang::ento::ExplodedNode::Profile(), ReclaimNodeInterval, and V.
Referenced by clang::ento::CoreEngine::enqueueStmtNode(), clang::ento::CoreEngine::ExecuteWorkList(), clang::ento::SwitchNodeBuilder::generateCaseStmtNode(), clang::ento::SwitchNodeBuilder::generateDefaultCaseNode(), clang::ento::IndirectGotoNodeBuilder::generateNode(), clang::ento::NodeBuilder::generateNodeImpl(), clang::ento::ExprEngine::processCallEnter(), and clang::ento::ExprEngine::processCallExit().
◆ getNodeAllocator() ◆ isInterestingLValueExpr() bool ExplodedGraph::isInterestingLValueExpr ( const Expr * Ex ) static ◆ MakeEmptyGraph() std::unique_ptr< ExplodedGraph > clang::ento::ExplodedGraph::MakeEmptyGraph ( ) const inline ◆ nodes() [1/2] llvm::iterator_range< node_iterator > clang::ento::ExplodedGraph::nodes ( ) inline ◆ nodes() [2/2] ◆ num_eops() unsigned clang::ento::ExplodedGraph::num_eops ( ) const inline ◆ num_roots() unsigned clang::ento::ExplodedGraph::num_roots ( ) const inline ◆ reclaimRecentlyAllocatedNodes() void ExplodedGraph::reclaimRecentlyAllocatedNodes ( ) ◆ reserve() void clang::ento::ExplodedGraph::reserve ( unsigned NodeCount ) inline ◆ roots_begin() [1/2] ◆ roots_begin() [2/2] ◆ roots_end() [1/2] ◆ roots_end() [2/2] ◆ size() unsigned clang::ento::ExplodedGraph::size ( ) const inline ◆ trim() ◆ CoreEngine ◆ BVC ◆ ChangedNodes NodeVector clang::ento::ExplodedGraph::ChangedNodes protected ◆ EndNodes ◆ FreeNodes ◆ Nodes llvm::FoldingSet<ExplodedNode> clang::ento::ExplodedGraph::Nodes protected ◆ NumNodes int64_t clang::ento::ExplodedGraph::NumNodes = 0 protected ◆ ReclaimCounter unsigned clang::ento::ExplodedGraph::ReclaimCounter protected ◆ ReclaimNodeInterval unsigned clang::ento::ExplodedGraph::ReclaimNodeInterval = 0 protected ◆ RootsThe roots of the simulation graph.
Usually there will be only one, but clients are free to establish multiple subgraphs within a single SimulGraph. Moreover, these subgraphs can often merge when paths from different roots reach the same state at the same program location.
Definition at line 314 of file ExplodedGraph.h.
Referenced by addRoot(), num_roots(), roots_begin(), and roots_end().
The documentation for this class was generated from the following files:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4