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-07-18 19:25:40 +08:00
2026-09-30 10:46:42 +08:00
2026-09-17 14:52:37 +08:00
2026-09-30 09:53:41 +08:00
2026-09-30 00:39:06 +08:00
2026-09-26 19:27:22 +08:00
2026-09-29 19:24:27 +08:00
2026-09-29 23:48:52 +08:00
2026-09-26 19:27:22 +08:00
2026-09-30 09:53:41 +08:00