remove extra watch row column cases - simplify most cases down to expr / eval. use extra 'note' for watch window cells to annotate type info - this sacrifices the full type evaluation cell, and instead uses a small extra bit of text to denote the type for quick reading. but this full type cell is not needed in most cases, and it can always be reobtained with an explicit typeof evaluation.

This commit is contained in:
Ryan Fleury
2025-10-06 17:06:00 -07:00
parent 6f4e78d06c
commit 2a7177861b
7 changed files with 102 additions and 135 deletions
+8
View File
@@ -1815,6 +1815,7 @@ e_push_irtree_and_type_from_expr(Arena *arena, E_IRTreeAndType *root_parent, E_I
mapped_type_key = e_type_key_ext(e_type_kind_from_rdi(type_node->kind), local->type_idx, module_idx);
// rjf: extract local's location block
B32 got_location_block = 0;
U64 ip_voff = e_base_ctx->thread_ip_voff;
for(U32 loc_block_idx = local->location_first;
loc_block_idx < local->location_opl;
@@ -1825,8 +1826,15 @@ e_push_irtree_and_type_from_expr(Arena *arena, E_IRTreeAndType *root_parent, E_I
{
mapped_location_block_module = module;
mapped_location_block = block;
got_location_block = 1;
}
}
// rjf: no location block -> error
if(!got_location_block)
{
e_msgf(arena, &result.msgs, E_MsgKind_MissingInfo, expr->range, "Could not find location info for `%S`.", string__redirected);
}
}
}break;