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

Method decode

crates/ffi/src/ix/env.rs:184–194  ·  view source on GitHub ↗

Decode Ix.RawEnvironment from Lean object into HashMap. RawEnvironment = { consts : Array (Name × ConstantInfo) } NOTE: Unboxed to just Array. This version deduplicates by name.

(&self)

Source from the content-addressed store, hash-verified

182 /// RawEnvironment = { consts : Array (Name × ConstantInfo) }
183 /// NOTE: Unboxed to just Array. This version deduplicates by name.
184 pub fn decode(&self) -> FxHashMap<Name, ConstantInfo> {
185 let arr = self.as_array();
186 let mut consts: FxHashMap<Name, ConstantInfo> = FxHashMap::default();
187 for pair_obj in arr.iter() {
188 let pair = pair_obj.as_ctor();
189 let name = LeanIxName(pair.get(0)).decode();
190 let info = LeanIxConstantInfo(pair.get(1)).decode();
191 consts.insert(name, info);
192 }
193 consts
194 }
195
196 /// Decode Ix.RawEnvironment preserving array structure (including duplicates).
197 pub fn decode_to_vec(&self) -> Vec<(Name, ConstantInfo)> {

Calls 5

decode_hashmapFunction · 0.85
as_arrayMethod · 0.80
iterMethod · 0.45
getMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected