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

Function block_mut_consts_from_env

crates/compile/src/decompile.rs:3262–3294  ·  view source on GitHub ↗
(
  all_names: &[Name],
  env: &LeanEnv,
)

Source from the content-addressed store, hash-verified

3260 let muts_vec: Option<&Vec<MutConst>> = match &block_constant.info {
3261 ConstantInfo::Muts(v) => Some(v),
3262 _ => None,
3263 };
3264
3265 for class in &sorted_classes {
3266 for cnst in class {
3267 let name = cnst.name();
3268
3269 // Look up original metadata from compile_const_no_aux. If not
3270 // available, fall back to Phase A metadata from the current compilation.
3271 let orig_meta = match stt.env.named.get(&name) {
3272 Some(ref named) if named.has_original() => {
3273 let (orig_addr, orig_meta) = named.original().unwrap();
3274 if std::env::var_os("IX_ROUNDTRIP_DEBUG").is_some() {
3275 eprintln!(
3276 "[orig_meta] {}: using named.original (addr={:.12})",
3277 name.pretty(),
3278 orig_addr.hex(),
3279 );
3280 }
3281 (*orig_meta).clone()
3282 },
3283 s => {
3284 if std::env::var_os("IX_ROUNDTRIP_DEBUG").is_some() {
3285 eprintln!(
3286 "[orig_meta] {}: no named.original ({}), using all_metas fallback",
3287 name.pretty(),
3288 if s.is_some() {
3289 "has named but original=None"
3290 } else {
3291 "no named entry"
3292 },
3293 );
3294 }
3295 if let Some(meta) = all_metas.get(&name) {
3296 meta.clone()
3297 } else {

Callers 1

Calls 4

pushMethod · 0.80
lenMethod · 0.45
getMethod · 0.45
cloneMethod · 0.45

Tested by

no test coverage detected