TermiNexus
a1c43a7b3b
chore(诊断): MemberLookupFailFast 补取证——字段所有者、类键/实例名、登记为该类的变量与实际 pointee
现场:CallGenDispatch.vp:787 `len_ap: llvmlite.LLVMType* = len_val.Ty.Pointee`
报 "[fast-fail] 属性 'Pointee' 在类 'ParamNode' 中找不到(class_members=2 个:
['Next','Ty'])"。'Pointee' 实际属 LLVMType 的 REnum 变体镜像字段(LLVMType.Ptr.Pointee),
而 ParamNode 只有 Next/Ty ⇒ 说明**读取时的接收者类名被判成了 ParamNode**
(`len_val` 的注解与 RHS 都写的是 `llvmlite.Value*`,Value.Ty 才是 rawptr[LLVMType];
ParamNode.Ty 是裸 rawptr = i8*)。
本轮只补取证、不改行为,让下一轮能一次定位"是谁把接收者记成了 ParamNode":
① 本类键 → struct 实例 IR 名(键/实例名不一致 ⇒ 同一类名两份实例);
② 其它**声明了该字段**的类键列表(唯一者即"本该用的类");
③ var_struct_class 中登记为**本类**的变量(封顶 6 个)及其实际 pointee IR 名
—— 记录类名与实际 IR 类型不一致时,直接圈定记录点。
验证:py_compile 通过。
2026-09-30 12:26:05 +08:00
..
2026-09-14 13:42:14 +08:00
2026-09-30 12:26:05 +08:00
2026-09-28 13:57:04 +08:00
2026-09-30 10:58:23 +08:00
2026-09-26 19:27:22 +08:00
2026-09-26 19:27:22 +08:00
2026-09-12 11:51:42 +08:00
2026-09-28 13:49:28 +08:00
2026-09-26 19:27:22 +08:00
2026-08-17 09:36:38 +08:00
2026-08-17 09:36:38 +08:00