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., list
i). - 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.