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

Function ingress_standalone

crates/kernel/src/ingress.rs:1629–1780  ·  view source on GitHub ↗
(
  const_name: &Name,
  addr: &Address,
  constant: &Constant,
  meta: &ConstantMeta,
  ixon_env: &IxonEnv,
  names: &FxHashMap<Address, Name>,
  name_to_addr: &FxHashMap<Name, Address>,
  intern: &m

Source from the content-addressed store, hash-verified

1627 )?;
1628 let value = ingress_expr(
1629 &def.value,
1630 value_root,
1631 &ctx,
1632 intern,
1633 ixon_env,
1634 &mut cache,
1635 &mut univ_cache,
1636 stats,
1637 )?;
1638 let lean_all = resolve_all(&all_addrs, names, name_to_addr)?;
1639
1640 let name = resolve_name(
1641 match &meta.info {
1642 ConstantMetaInfo::Def { name, .. } => name,
1643 _ => &self_id.addr,
1644 },
1645 names,
1646 );
1647
1648 Ok(vec![(
1649 self_id,
1650 KConst::Defn {
1651 name: M::meta_field(name),
1652 level_params: M::meta_field(level_params),
1653 kind: def.kind,
1654 safety,
1655 hints,
1656 lvls: def.lvls,
1657 ty: typ,
1658 val: value,
1659 lean_all: M::meta_field(lean_all),
1660 block,
1661 },
1662 )])
1663}
1664
1665#[allow(clippy::too_many_arguments)]
1666fn ingress_recursor<M: KernelMode>(
1667 rec: &ixon::constant::Recursor,
1668 self_id: KId<M>,
1669 meta: &ConstantMeta,
1670 ixon_env: &IxonEnv,
1671 names: &FxHashMap<Address, Name>,
1672 name_to_addr: &FxHashMap<Name, Address>,
1673 sharing: &[Arc<IxonExpr>],
1674 refs: &[Address],
1675 univs: &[Arc<IxonUniv>],
1676 block: KId<M>,
1677 intern: &mut InternTable<M>,
1678 stats: &mut ConvertStats,
1679 // Anon callers compute `mut_ctx` structurally; Meta callers pass
1680 // `None` to fall back to the metadata-derived `build_mut_ctx`.
1681 mut_ctx_override: Option<Vec<KId<M>>>,
1682) -> Result<Vec<(KId<M>, KConst<M>)>, String> {
1683 let mut cache: ExprCache<M> = FxHashMap::default();
1684 let mut univ_cache: UnivCache<M> = FxHashMap::default();
1685 let (level_params, arena, type_root, rule_roots, rule_ctor_addrs, all_addrs) =
1686 match &meta.info {

Callers 3

ingress_compiled_namesFunction · 0.85
ixon_ingress_innerFunction · 0.85

Calls 6

ingress_defnFunction · 0.85
resolve_level_paramsFunction · 0.85
ingress_exprFunction · 0.85
resolve_nameFunction · 0.85
ingress_recursorFunction · 0.85
cloneMethod · 0.45

Tested by

no test coverage detected