Skip to documentation
SLOP

tiny.choir.composition.source.verification.call

Reference tiny.choir composition source verification call

Defined in composition.source.verification.

API (2)

Actions

Public operations.

No direct callersNo direct callscomposition.source.verificationcall
Static calls · unresolved targets: unknown · external targets: unknown.

Source

Called byCallsNo direct callerscomposition.source.verification.partitionverifyBoundaryRolescomposition.source.verification.callverifySpec
Static calls · unresolved targets: 0 · external targets: 4.
Called byCallscomposition.source.verification.moduleverifycomposition.source.verification.partitionverifyBoundaryRolescomposition.source.verification.callverifyValue
Static calls · unresolved targets: 0 · external targets: 3.

Source: lib/choir/src/composition/source/verification/call.zig

zig
const source = @import("../root.zig");const verification = @import("root.zig");pub fn verifySpec(module: *const source.PartitionedModule, spec: source.SemanticCallSiteSpec) verification.Error!void {    if (spec.name.len == 0) return error.EmptyCallSite;    if (module.callSite(spec.id) != null) return error.DuplicateCallSite;    if (module.partition(spec.caller) == null or module.partition(spec.callee) == null) return error.MissingPartition;    for (spec.inputs) |id| if (module.boundary(id) == null) return error.MissingBoundary;    for (spec.outputs) |id| if (module.boundary(id) == null) return error.MissingBoundary;    const callee = module.partition(spec.callee).?;    if (!source.boundaryIdsEqual(spec.inputs, callee.inputs) or !source.boundaryIdsEqual(spec.outputs, callee.outputs)) {        return error.BoundaryContractMismatch;    }    try verification.partition.verifyBoundaryRoles(module, spec.inputs, spec.outputs);}pub fn verifyValue(module: *const source.PartitionedModule, call_site: source.SemanticCallSite) verification.Error!void {    if (call_site.name.len == 0) return error.EmptyCallSite;    if (module.partition(call_site.caller) == null) return error.MissingPartition;    const callee = module.partition(call_site.callee) orelse return error.MissingPartition;    for (call_site.inputs) |id| if (module.boundary(id) == null) return error.MissingBoundary;    for (call_site.outputs) |id| if (module.boundary(id) == null) return error.MissingBoundary;    if (!source.boundaryIdsEqual(call_site.inputs, callee.inputs) or !source.boundaryIdsEqual(call_site.outputs, callee.outputs)) {        return error.BoundaryContractMismatch;    }    try verification.partition.verifyBoundaryRoles(module, call_site.inputs, call_site.outputs);}

Source: lib/choir/src/composition/source/verification/root.zig:4

zig
pub const call = @import("call.zig");

Audit

Definitions3
Public names4
Members0
Version26.7.0
Revisiondaab053ee433