pub fn wire_contract_for_service(
unit: &str,
text: &str,
service_name: &str,
handler: &Handler,
info: &ContextBoundaryInfo,
expr_types: &[(Span, TyId)],
tys: &Types,
context_count: usize,
) -> Option<WireContractModel>Expand description
Build the wire contract for one already-located handler. The pure half of
wire_contract_at — the part that never touches the offset/re-parse
machinery — split out the same way sequence_model_at delegates to
sequence::sequence_model.
service_name must name an entry in info.services (the owning unit’s
retained service table) — the handler is spliced into a clone of that
declaration (a synthetic single-handler service) so
bynk_check::wire::collect_boundary_types narrows its walk to exactly
this handler’s params/return, not the whole service’s. None if the
service is not (yet) in the retained table — a live-buffer/committed-round
mismatch (the same class of staleness sequence_model_at accepts for
sequence_info).