clang 22.0.0git
clang::CFGBlock::AdjacentBlock Class Reference

This class represents a potential adjacent block in the CFG. More...

#include "clang/Analysis/CFG.h"

Public Member Functions

 AdjacentBlock (CFGBlock *B, bool IsReachable)
 Construct an AdjacentBlock with a possibly unreachable block.
 AdjacentBlock (CFGBlock *B, CFGBlock *AlternateBlock)
 Construct an AdjacentBlock with a reachable block and an alternate unreachable block.
CFGBlockgetReachableBlock () const
 Get the reachable block, if one exists.
CFGBlockgetPossiblyUnreachableBlock () const
 Get the potentially unreachable block.
 operator CFGBlock * () const
 Provide an implicit conversion to CFGBlock* so that AdjacentBlock can be substituted for CFGBlock*.
CFGBlockoperator* () const
CFGBlockoperator-> () const
bool isReachable () const

Detailed Description

This class represents a potential adjacent block in the CFG.

It encodes whether or not the block is actually reachable, or can be proved to be trivially unreachable. For some cases it allows one to encode scenarios where a block was substituted because the original (now alternate) block is unreachable.

Definition at line 825 of file CFG.h.

Constructor & Destructor Documentation

◆ AdjacentBlock() [1/2]

CFGBlock::AdjacentBlock::AdjacentBlock ( CFGBlock * B,
bool IsReachable )

Construct an AdjacentBlock with a possibly unreachable block.

Definition at line 5475 of file CFG.cpp.

References clang::CFGBlock::CFGBlock(), and clang::nullptr.

◆ AdjacentBlock() [2/2]

CFGBlock::AdjacentBlock::AdjacentBlock ( CFGBlock * B,
CFGBlock * AlternateBlock )

Construct an AdjacentBlock with a reachable block and an alternate unreachable block.

Definition at line 5480 of file CFG.cpp.

References clang::CFGBlock::CFGBlock(), and clang::nullptr.

Member Function Documentation

◆ getPossiblyUnreachableBlock()

CFGBlock * clang::CFGBlock::AdjacentBlock::getPossiblyUnreachableBlock ( ) const
inline

Get the potentially unreachable block.

Definition at line 849 of file CFG.h.

References clang::CFGBlock::CFGBlock().

Referenced by clang::CFGBlock::addSuccessor().

◆ getReachableBlock()

CFGBlock * clang::CFGBlock::AdjacentBlock::getReachableBlock ( ) const
inline

Get the reachable block, if one exists.

Definition at line 844 of file CFG.h.

References clang::CFGBlock::CFGBlock().

Referenced by clang::CFGBlock::addSuccessor(), operator CFGBlock *(), operator*(), and operator->().

◆ isReachable()

bool clang::CFGBlock::AdjacentBlock::isReachable ( ) const
inline

Definition at line 867 of file CFG.h.

Referenced by clang::CFGBlock::addSuccessor().

◆ operator CFGBlock *()

clang::CFGBlock::AdjacentBlock::operator CFGBlock * ( ) const
inline

Provide an implicit conversion to CFGBlock* so that AdjacentBlock can be substituted for CFGBlock*.

Definition at line 855 of file CFG.h.

References clang::CFGBlock::CFGBlock(), and getReachableBlock().

◆ operator*()

CFGBlock & clang::CFGBlock::AdjacentBlock::operator* ( ) const
inline

Definition at line 859 of file CFG.h.

References clang::CFGBlock::CFGBlock(), and getReachableBlock().

◆ operator->()

CFGBlock * clang::CFGBlock::AdjacentBlock::operator-> ( ) const
inline

Definition at line 863 of file CFG.h.

References clang::CFGBlock::CFGBlock(), and getReachableBlock().


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