CFG_Switch_Block

class CFG_Switch_Block (abstract, logical)
Direct parents:
Ancestor classes and implemented interfaces:

CFG_Block, CFG_Branch_Block, CFG_Standard_Block, Execution_Node, Logical_IR_Root

Direct child classes:

Field

Kind

Type

Description

Condition

semantic

class Helper_Variable

The condition tested by this switch block. This is guaranteed to be the value computed by the last instruction in this block.

Next_Cases

syntactic

list of class CFG_Case_Edge

all successors along with the values (cases) to denote the conditions when they are to be used

Default_Next

semantic

class CFG_Block

The successor when none of the cases applies. Points to the default: label if present, otherwise points to the code after the switch statement. Can be NoNode if the default: label was present but was inside a nested scope that was not translated due to compiler errors.

Code (from CFG_Standard_Block)

syntactic

list of class Instruction

Helpers (from CFG_Standard_Block)

syntactic

list of class Helper_Variable

Start_Role (from CFG_Standard_Block)

attribute

enum Cfg_Block_Start_Role

Provides an explanation why a new block was started. The Start_Physical edge provides details specific to the role. More details are documented on the individual role enumerators.

Start_Physical (from CFG_Standard_Block)

semantic to physical

class Physical_IR_Root

Physical edge related to the block start; see Start_Role for the interpretation of this edge.

Parent (from Logical_IR_Root)

semantic

class Logical_IR_Root

Physical (from Logical_IR_Root)

semantic to physical

class Physical_IR_Root