class PostOrderCFGView::CFGBlockSet

Declaration

class PostOrderCFGView::CFGBlockSet { /* full declaration omitted */ };

Description

Implements a set of CFGBlocks using a BitVector. This class contains a minimal interface, primarily dictated by the SetType template parameter of the llvm::po_iterator template, as used with external storage. We also use this set to keep track of which CFGBlocks we visit during the analysis.

Declared at: clang/include/clang/Analysis/Analyses/PostOrderCFGView.h:38

Member Variables

private llvm::BitVector VisitedBlockIDs

Method Overview

Methods

CFGBlockSet()

Declared at: clang/include/clang/Analysis/Analyses/PostOrderCFGView.h:46

CFGBlockSet(const clang::CFG* G)

Declared at: clang/include/clang/Analysis/Analyses/PostOrderCFGView.h:47

Parameters

const clang::CFG* G

bool alreadySet(const clang::CFGBlock* Block)

Description

Check if the bit for a CFGBlock has been already set. This method is for tracking visited blocks in the main threadsafety loop. Block must not be null.

Declared at: clang/include/clang/Analysis/Analyses/PostOrderCFGView.h:67

Parameters

const clang::CFGBlock* Block

std::pair<llvm::NoneType, bool> insert(
    const clang::CFGBlock* Block)

Description

Set the bit associated with a particular CFGBlock. This is the important method for the SetType template parameter.

Declared at: clang/include/clang/Analysis/Analyses/PostOrderCFGView.h:51

Parameters

const clang::CFGBlock* Block