class CFGBlock::AdjacentBlock

Declaration

class CFGBlock::AdjacentBlock { /* full declaration omitted */ };

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.

Declared at: clang/include/clang/Analysis/CFG.h:792

Member Variables

private clang::CFGBlock* ReachableBlock
private llvm::PointerIntPair<CFGBlock*, 2> UnreachableBlock

Method Overview

Methods

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

Description

Construct an AdjacentBlock with a possibly unreachable block.

Declared at: clang/include/clang/Analysis/CFG.h:804

Parameters

clang::CFGBlock* B
bool IsReachable

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

Description

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

Declared at: clang/include/clang/Analysis/CFG.h:808

Parameters

clang::CFGBlock* B
clang::CFGBlock* AlternateBlock

clang::CFGBlock* getPossiblyUnreachableBlock()
    const

Description

Get the potentially unreachable block.

Declared at: clang/include/clang/Analysis/CFG.h:816

clang::CFGBlock* getReachableBlock() const

Description

Get the reachable block, if one exists.

Declared at: clang/include/clang/Analysis/CFG.h:811

bool isReachable() const

Declared at: clang/include/clang/Analysis/CFG.h:834

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

Description

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

Declared at: clang/include/clang/Analysis/CFG.h:822