Skip to documentation
SLOP

tiny.choir.ir.interfaces.ControlFlowInterface

Reference tiny.choir ir interfaces ControlFlowInterface

Defined in ir.interfaces.

API (6)

Actions

Public operations.

Types and contracts

Public types and contracts.

Values and defaults

Public values and defaults.

No direct callersNo direct callsir.interfacesControlFlowInterface
Static calls · unresolved targets: unknown · external targets: unknown.

Source

Source: lib/choir/src/core/interfaces/ops.zig:1163

zig
pub const ControlFlowInterface = struct {    pub const interface_name = "ir.interface.control_flow";    pub const id: InterfaceId = base.interfaceId(interface_name);    pub const VTable = struct {        getSuccessorCount: *const fn (op: *const anyopaque) usize,        getSuccessor: *const fn (op: *const anyopaque, index: usize) ?*IrBlock,    };    pub fn entry(vtable: *const VTable) InterfaceEntry {        return .{ .id = id, .vtable = vtable };    }    pub fn vtableFor(        comptime getSuccessorCount: *const fn (op: *const anyopaque) usize,        comptime getSuccessor: *const fn (op: *const anyopaque, index: usize) ?*IrBlock,    ) *const VTable {        return &.{            .getSuccessorCount = getSuccessorCount,            .getSuccessor = getSuccessor,        };    }    pub fn entryFor(        comptime getSuccessorCount: *const fn (op: *const anyopaque) usize,        comptime getSuccessor: *const fn (op: *const anyopaque, index: usize) ?*IrBlock,    ) InterfaceEntry {        return entry(vtableFor(getSuccessorCount, getSuccessor));    }};

Source: lib/choir/src/core/interfaces/root.zig:48

zig
pub const ControlFlowInterface = ops.ControlFlowInterface;

Also reachable as

backends.wasm.emission.module_encoding.common.ir.interfaces.ControlFlowInterface.

Audit

Definitions7
Public names14
Members2
Version26.7.0
Revisiondaab053ee433