TermiNexus
02d89b0900
fix(tpc): 字段解析「内层是类却成通用指针」当场 fail-fast(降级源头定位)
承接 b8ed33a2 / 7fb0e498:前两者修的是**结果**(错位 body),本次收**源头** ——
class_members 在某个早期 pass 被解析出 i8**(void 基座 + 2 层),随后被冻进
struct body。CollectAnnAssignMember 是字段类型的唯一汇总点,在此加判据式 fail-fast:
判据(只拦"必属类型信息丢失"的组合):注解是指针包装(rawptr[T] / t.CPtr[T] /
裸名 CPtr[T] / `T | t.CPtr` 联合)且其**内层节点(Name/Attribute)的名字在
Gen.structs 或 Gen._struct_sha1_map 中有类定义**,而解析出的 BaseType 却是
t.CVoid ⇒ 必定是解析路径把类丢了,响亮失败并附完整判据:
解析结果 BaseType/PtrCount/IsStruct/IsTypedef/Name
符号表[内层名] => IsTypedef/BaseType/PtrCount/IsStruct/IsRenum/IsModuleAlias/IsEnumMember
Gen.structs 命中 / _struct_sha1_map 命中
放行:rawptr[rawptr] 这类本就 void 基座的多层指针、模块名、泛型特化实参(内层非
Name/Attribute)—— 不误伤合法写法。
2026-09-29 00:21:39 +08:00
..
2026-08-21 12:36:00 +08:00
2026-09-28 16:48:52 +08:00
2026-08-17 09:36:38 +08:00
2026-09-28 23:59:29 +08:00
2026-09-26 19:27:22 +08:00
2026-09-27 00:19:44 +08:00
2026-09-29 00:21:39 +08:00
2026-09-26 19:27:22 +08:00
2026-09-26 21:25:52 +08:00
2026-08-17 09:36:38 +08:00
2026-09-28 15:10:39 +08:00
2026-09-26 19:27:22 +08:00
2026-09-27 16:02:40 +08:00
2026-09-28 15:53:02 +08:00
2026-09-28 23:14:08 +08:00
2026-09-11 22:47:21 +08:00
2026-09-28 15:10:39 +08:00
2026-09-27 15:16:08 +08:00
2026-09-26 19:27:22 +08:00
2026-09-28 13:57:04 +08:00
2026-09-28 16:52:03 +08:00
2026-08-17 09:36:38 +08:00
2026-09-28 23:59:29 +08:00
2026-08-17 09:36:38 +08:00
2026-08-17 09:36:38 +08:00
2026-09-28 15:10:39 +08:00
2026-09-26 19:27:22 +08:00
2026-08-17 09:36:38 +08:00
2026-09-28 23:59:29 +08:00
2026-08-03 02:00:49 +08:00
2026-09-26 19:27:22 +08:00