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

Method load_meta_extensions

crates/compile/src/decompile.rs:128–132  ·  view source on GitHub ↗

Install per-constant metadata extension tables. - `meta_sharing` → dedicated `self.meta_sharing` (separate from the block sharing, see struct docs). Overwrites any previous per-constant table so the cache can be reused across constants within a projection-bearing block. - `meta_refs` / `meta_univs` — these are never populated by the current compiler (grep: only pushed by serde paths in `src/ix/ix

(&mut self, meta: &ConstantMeta)

Source from the content-addressed store, hash-verified

126
127 if let Some(hit) = self.expr_intern.get(root.get_hash().as_bytes()) {
128 return hit.clone();
129 }
130
131 // Per-walk memo keyed by node pointer: within-constant sharing
132 // makes the same `Arc` reachable from several parents.
133 let mut memo: FxHashMap<*const ED, LeanExpr> = FxHashMap::default();
134 // (node, children_done)
135 let mut stack: Vec<(LeanExpr, bool)> = vec![(root.clone(), false)];

Callers 3

decompile_projectionFunction · 0.80
decompile_constFunction · 0.80
roundtrip_blockFunction · 0.80

Calls 2

cloneMethod · 0.45
iterMethod · 0.45

Tested by

no test coverage detected