clang 20.0.0git
Public Member Functions | Static Public Member Functions | List of all members
clang::CFGStmtMap Class Reference

#include "clang/Analysis/CFGStmtMap.h"

Public Member Functions

 ~CFGStmtMap ()
 
CFGBlockgetBlock (Stmt *S)
 Returns the CFGBlock the specified Stmt* appears in.
 
const CFGBlockgetBlock (const Stmt *S) const
 

Static Public Member Functions

static CFGStmtMapBuild (CFG *C, ParentMap *PM)
 Returns a new CFGMap for the given CFG.
 

Detailed Description

Definition at line 24 of file CFGStmtMap.h.

Constructor & Destructor Documentation

◆ ~CFGStmtMap()

CFGStmtMap::~CFGStmtMap ( )

Definition at line 25 of file CFGStmtMap.cpp.

References AsMap().

Member Function Documentation

◆ Build()

CFGStmtMap * CFGStmtMap::Build ( CFG C,
ParentMap PM 
)
static

Returns a new CFGMap for the given CFG.

It is the caller's responsibility to 'delete' this object when done using it.

Definition at line 78 of file CFGStmtMap.cpp.

References Accumulate(), clang::C, E, and SM.

Referenced by clang::AnalysisDeclContext::getCFGStmtMap().

◆ getBlock() [1/2]

const CFGBlock * clang::CFGStmtMap::getBlock ( const Stmt S) const
inline

Definition at line 45 of file CFGStmtMap.h.

References getBlock().

◆ getBlock() [2/2]

CFGBlock * CFGStmtMap::getBlock ( Stmt S)

Returns the CFGBlock the specified Stmt* appears in.

For Stmt* that are terminators, the CFGBlock is the block they appear as a terminator, and not the block they appear as a block-level expression (e.g, '&&'). CaseStmts and LabelStmts map to the CFGBlock they label.

Definition at line 27 of file CFGStmtMap.cpp.

References AsMap(), clang::ParentMap::getParentIgnoreParens(), SM, and X.

Referenced by getBlock(), clang::ento::CallEvent::getCalleeStackFrame(), clang::ento::ExplodedNode::getCFGBlock(), and clang::ento::SuppressInlineDefensiveChecksVisitor::VisitNode().


The documentation for this class was generated from the following files: