Decode Ix.RawEnvironment from Lean object into HashMap. RawEnvironment = { consts : Array (Name × ConstantInfo) } NOTE: Unboxed to just Array. This version deduplicates by name.
(&self)
| 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)> { |
no test coverage detected