TermiNexus
4f45b391ea
fix(viperc/diag): 保留函数定义帧,不覆盖栈帧位置(补齐“定义帧 + 出错语句帧”两帧)
上一版 B 把最内层栈帧的位置改写成“当前语句”,结果它与错误帧落在同一 file:line,
被去重合并 —— 输出只剩一帧,`_start` 那帧(函数定义)反而没了。
改为:栈帧只记录**被调函数的定义位置**(不随语句推进覆盖);“当前语句/具体表达式”
统一由错误帧给出(CurArg 兜底,见 TypeGenErr)。这样能得到完整两帧:
File "./Apps/HelloWorld/main.vp", line 11 export def _start() -> int: ← 定义帧
File "./Apps/HelloWorld/main.vp", line 36 ... &_on_submit) ← 出错语句帧
同时删除已无调用的 TypeGenBase.update_top_trace_position。
2026-10-14 16:51:51 +08:00
..
2026-10-12 20:59:11 +08:00
2026-10-14 16:51:51 +08:00
2026-10-05 13:38:22 +08:00
2026-10-05 13:38:22 +08:00
2026-10-14 15:53:05 +08:00
2026-10-12 20:59:11 +08:00
2026-10-12 15:06:28 +08:00
2026-10-12 20:59:11 +08:00