MCPcopy Create free account
hub / github.com/argumentcomputer/ix / serialize_preresolved

Function serialize_preresolved

crates/compile/src/compile.rs:1560–1579  ·  view source on GitHub ↗
(
  pr: &SyntaxPreresolved,
  stt: &CompileState,
  bytes: &mut Vec<u8>,
)

Source from the content-addressed store, hash-verified

1558 name: type_name.pretty(),
1559 caller: format!("{who} @ compile_expr(Proj)"),
1560 }
1561 })?;
1562
1563 let (ref_idx, _) = cache.refs.insert_full(type_addr.clone());
1564 let name_addr = compile_name(type_name, stt);
1565
1566 stack.push(Frame::BuildProj(ref_idx as u64, idx_u64, name_addr));
1567 stack.push(Frame::Compile(struct_val.clone()));
1568 },
1569
1570 ExprData::Mdata(kv, inner, _) => {
1571 // Compile KV map
1572 let mut pairs = Vec::new();
1573 for (k, v) in kv {
1574 let k_addr = compile_name(k, stt);
1575 let v_data = compile_data_value(v, stt);
1576 pairs.push((k_addr, v_data));
1577 }
1578 // Mdata becomes a separate arena node wrapping inner
1579 stack.push(Frame::WrapMdata(vec![pairs]));
1580 stack.push(Frame::Compile(inner.clone()));
1581 },
1582

Callers 1

serialize_syntax_innerFunction · 0.85

Calls 6

compile_nameFunction · 0.85
store_stringFunction · 0.85
pushMethod · 0.80
as_bytesMethod · 0.80
putMethod · 0.45
lenMethod · 0.45

Tested by

no test coverage detected