TermiNexus
909d8ff0eb
fix(诊断): _get_node_info 还原自动注入 import 的行偏移;属性写入失败补成员槽来源明细
1) 行号还原(b 机制缺陷,实测可证):Phase2Translator._inject_auto_imports 在源码头
注入 import _list/_dict/json,AST 节点行号整体下移 N
(translator._line_offset = N),而 Gen._current_source_lines 是**磁盘**原文。
BaseGen._get_node_info / _DescribeValueNode 此前直接用 AST 行号读源码 ⇒ 同一次
fail-fast 里出现两套互相矛盾的行号:_ErrorStack 帧印磁盘行 1140/1141,
_get_node_info 印 1142,并把源码显示成 1142 行的 `return "t.CPtr"`
(真实错误行是 1141 的 `...LastBuiltinsTypedefResult = "t.CPtr"`,与被指语句无关)。
新增 BaseGen._DiskLineno,判据与 HandlesBase._FailFastFixedArrayKeyword:687、
HandlesAssign._RaiseGlobalAttrError:2051、LlvmGenerator/HandlesBody 的
_ErrorStack 各站点逐字一致;标签行号(_current_node_info)与源码行一并还原。
2) 成员槽来源明细:HandlesAssign 的「对象.字段 = 值」写入路径(:1182)此前
_StoreWithCoerce 失败时只报隐式转换禁令,不报目标槽来源,报文与被指语句、
偏移对不上。现与 `self.x = ...` 路径(:897-905)同口径补 _DescribeMemberSlot:
附上 class_members 声明侧(项数/base/表内下标/声明槽类型)与布局侧
(struct name/元素数/elements[offset])两侧数据,可直接判定是声明侧退化
还是布局侧退化(本次现场即"表内下标被同名继承项过滤移位"一类)。
2026-09-30 10:46:42 +08:00
..
2026-08-21 12:36:00 +08:00
2026-09-30 09:53:41 +08:00
2026-08-17 09:36:38 +08:00
2026-09-30 10:46:42 +08:00
2026-09-30 09:53:41 +08:00
2026-09-27 00:19:44 +08:00
2026-09-30 09:53:41 +08:00
2026-09-26 19:27:22 +08:00
2026-09-29 13:13:17 +08:00
2026-08-17 09:36:38 +08:00
2026-09-30 09:53:41 +08:00
2026-09-29 13:00:11 +08:00
2026-09-30 09:59:27 +08:00
2026-09-30 09:53:41 +08:00
2026-09-30 09:53:41 +08:00
2026-09-11 22:47:21 +08:00
2026-09-30 09:53:41 +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-30 09:53:41 +08:00
2026-08-17 09:36:38 +08:00
2026-09-30 09:53:41 +08:00
2026-09-29 11:21:19 +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-29 17:35:56 +08:00
2026-08-03 02:00:49 +08:00
2026-09-26 19:27:22 +08:00