ir/cfg/control_flow_graph library

Control Flow Graph (CFG) representation.

Represents the flow of control through a function as a directed graph of basic blocks connected by edges.

Classes

AssignInstruction
Assignment instruction: target = value
AwaitInstruction
Await instruction - represents an async suspension point.
BasicBlock
A basic block in the CFG.
BinaryOpValue
A binary operation value.
BranchInstruction
Conditional branch instruction.
CallInstruction
Function call instruction.
CallValue
Function/method call value.
CastInstruction
Type cast instruction.
ConstantValue
A constant value.
ControlFlowGraph
Control Flow Graph for a function.
FieldAccessValue
Field access value.
IndexAccessValue
Index access value (e.g., listi).
Instruction
Base class for CFG instructions.
JumpInstruction
Unconditional jump instruction.
LoadFieldInstruction
Field load instruction.
LoadIndexInstruction
Index load instruction.
NewObjectValue
Object instantiation value.
NullCheckInstruction
Null check instruction (for type promotion).
PhiInstruction
Phi function for SSA form.
PhiValue
Phi value reference (for SSA).
ReturnInstruction
Return instruction.
StoreFieldInstruction
Field store instruction.
StoreIndexInstruction
Index store instruction.
ThrowInstruction
Throw instruction.
TypeCheckInstruction
Type check instruction (is/is!).
UnaryOpValue
A unary operation value.
Value
Base class for values in instructions.
Variable
Represents a variable in the CFG.
VariableValue
A variable reference as a value.