TermiNexus
bf5ecd7668
fix(lifetime): 方法路径补上"同命裁剪"(此前缺失)—— h.set_q(l) 不该报
现场:h: S* = new heap slife S()(生命期本就是 FRAME:作用域出口释放)+ l 是栈数组;
h.set_q(l) 却报"escaping method parameter"。根因:同命裁剪只做在模块级函数路径,方法路径一直没接
(此前已明确告知"还差一半")。
新增 CallGenMixin._FrameArgsEscapeClearsMethod:位 0 = 接收者(self)、位 (i+1) = 用户第 i 个实参;
某位可清 ⇔ 该位对应实参是 FRAME/VALUE 且其余全部实参(含接收者)也在本帧。
CallGenCall 方法路径在 refine 之后、指令最终裁决之前套用;硬位仍用 get_param_escapes_hard_method 排除。
构造器路径暂未接(__init__ 的 self 是"正在构造的对象",此处拿不到接收者 AST 变量)。
2026-10-09 22:30:35 +08:00
..
2026-10-09 22:30:35 +08:00
2026-10-09 20:49:21 +08:00
2026-10-09 19:22:04 +08:00
2026-10-09 11:51:11 +08:00
2026-10-09 20:49:21 +08:00
2026-10-09 19:32:54 +08:00
2026-10-05 13:38:22 +08:00
2026-10-09 20:49:21 +08:00
2026-10-08 20:42:09 +08:00
2026-10-05 17:38:28 +08:00
2026-10-07 00:03:58 +08:00
2026-10-09 22:14:26 +08:00
2026-10-05 17:38:28 +08:00
2026-10-09 11:51:11 +08:00
2026-10-07 00:03:58 +08:00
2026-10-07 00:03:58 +08:00
2026-10-09 21:59:48 +08:00
2026-10-09 11:51:11 +08:00
2026-10-09 20:49:21 +08:00
2026-10-09 19:22:04 +08:00