diff --git a/App/lib/core/Gen/ExprGenAttr.vp b/App/lib/core/Gen/ExprGenAttr.vp index a95f645..b5b025b 100644 --- a/App/lib/core/Gen/ExprGenAttr.vp +++ b/App/lib/core/Gen/ExprGenAttr.vp @@ -874,6 +874,9 @@ class ExprGenAttr(ExprGenBase.ExprGenBase): at, f"属性访问失败: .{attr_nm_ap} (base=非指针类型,无法做属性访问 sha1={sha1_ap}:{ln_ap})", "TypeError") + # fatal_error 后补显式 return 样板:match 末 arm 块必须 terminated, + # 否则掉出末尾被函数收尾 fail-fast 误判(块设计约定) + return None # ============================================================ # 获取属性访问的字段指针(不加载值,用于赋值) # 对于 Name 类型的 obj,直接使用 alloca 指针(不 load 结构体) @@ -1143,4 +1146,6 @@ class ExprGenAttr(ExprGenBase.ExprGenBase): HandlesType.fatal_error( at, f"属性写入失败: .{attr_nm_gp} (base=非指针类型,无法做属性写入 sha1={sha1_gp}:{ln_gp})", - "TypeError") \ No newline at end of file + "TypeError") + # fatal_error 后补显式 return 样板:match 末 arm 块必须 terminated + return None \ No newline at end of file