clang 10.0.0git

Classes | Public Member Functions | List of all members
clang::ento::SwitchNodeBuilder Class Reference

`#include "clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h"`

## Classes
class | iterator

## Public Member Functions
| SwitchNodeBuilder (ExplodedNode *pred, const CFGBlock *src, const Expr *condition, CoreEngine *eng)
iterator | begin ()
iterator | end ()
const SwitchStmt * | getSwitch () const
ExplodedNode * | generateCaseStmtNode (const iterator &I, ProgramStateRef State)
ExplodedNode * | generateDefaultCaseNode (ProgramStateRef State, bool isSink=false)
const Expr * | getCondition () const
ProgramStateRef | getState () const
const LocationContext * | getLocationContext () const

## Detailed Description

Definition at line 525 of file CoreEngine.h.

## Constructor & Destructor Documentation

## ◆ SwitchNodeBuilder()

clang::ento::SwitchNodeBuilder::SwitchNodeBuilder | ( | ExplodedNode * | pred,
|  | const CFGBlock * | src,
|  | const Expr * | condition,
|  | CoreEngine * | eng
| ) |  |
| inline

Definition at line 532 of file CoreEngine.h.

## Member Function Documentation

## ◆ begin()

iterator clang::ento::SwitchNodeBuilder::begin | ( |  | ) |
| inline

Definition at line 557 of file CoreEngine.h.

References clang::CFGBlock::succ_rbegin().

Referenced by clang::ento::ExprEngine::processSwitch().

## ◆ end()

iterator clang::ento::SwitchNodeBuilder::end | ( |  | ) |
| inline

Definition at line 558 of file CoreEngine.h.

References clang::CFGBlock::succ_rend().

Referenced by clang::ento::ExprEngine::processSwitch().

## ◆ generateCaseStmtNode()

ExplodedNode * SwitchNodeBuilder::generateCaseStmtNode | ( | const iterator & | I,
|  | ProgramStateRef | State
| ) |  |

Definition at line 667 of file CoreEngine.cpp.

References clang::ento::ExplodedNode::addPredecessor(), clang::ento::SwitchNodeBuilder::iterator::getBlock(), and clang::ento::ExplodedNode::getLocationContext().

Referenced by clang::ento::ExprEngine::processSwitch().

## ◆ generateDefaultCaseNode()

ExplodedNode * SwitchNodeBuilder::generateDefaultCaseNode | ( | ProgramStateRef | State,
|  | bool | isSink = `false`
| ) |  |

Definition at line 682 of file CoreEngine.cpp.

References clang::ento::ExplodedNode::addPredecessor(), clang::ento::ExplodedNode::getLocationContext(), and clang::CFGBlock::succ_rbegin().

Referenced by clang::ento::ExprEngine::processSwitch().

## ◆ getCondition()

const Expr* clang::ento::SwitchNodeBuilder::getCondition | ( |  | ) | const
| inline

Definition at line 570 of file CoreEngine.h.

Referenced by clang::ento::ExprEngine::processSwitch().

## ◆ getLocationContext()

const LocationContext* clang::ento::SwitchNodeBuilder::getLocationContext | ( |  | ) | const
| inline

Definition at line 574 of file CoreEngine.h.

References clang::ento::ExplodedNode::getLocationContext().

Referenced by clang::ento::ExprEngine::processSwitch().

## ◆ getState()

ProgramStateRef clang::ento::SwitchNodeBuilder::getState | ( |  | ) | const
| inline

Definition at line 572 of file CoreEngine.h.

Referenced by clang::ento::ExprEngine::processSwitch().

## ◆ getSwitch()

const SwitchStmt* clang::ento::SwitchNodeBuilder::getSwitch | ( |  | ) | const
| inline

Definition at line 560 of file CoreEngine.h.

References clang::CFGBlock::getTerminator(), and State.

Referenced by clang::ento::ExprEngine::processSwitch().

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

- include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
- lib/StaticAnalyzer/Core/CoreEngine.cpp