Commit Graph

  • 15b416b527 fix(type): 统一注入期类归属与导入上下文记账,修占位表爆与属性标记误解析 last-good-0.0.5-dev.479 TermiNexus 2026-10-02 17:29:38 +08:00
  • 2c33effee1 fix(type): 前向声明补 import-as 别名反查(LookupModNameByAlias) TermiNexus 2026-10-02 11:48:31 +08:00
  • 4958fd2c14 debug(attr): [DBG-ATTR] 泛化到任意属性访问失败,打印基座/结构体/字段数(用完删除) TermiNexus 2026-10-02 02:50:01 +08:00
  • 87e2356eea feat(type): rawptr[T]/t.CPtr[T] 下标形也走前向声明,并覆盖同文件前向引用 TermiNexus 2026-10-02 02:48:26 +08:00
  • c0d3231e02 fix(type): 未注册类指针改前向声明(具名不透明占位)+ 定义侧原位填充 TermiNexus 2026-10-02 02:40:05 +08:00
  • d1c0f6754c debug(gen): 补 [DBG-ATTR] 探针——FuncGenBase 处 obj_ptr 类型与注解类名兜底(用完删除) TermiNexus 2026-10-02 02:31:09 +08:00
  • 01e95b51cf debug(gen): 一次性取证插桩——Generator 结构体登记/查找全链路(用完删除) TermiNexus 2026-10-02 02:18:55 +08:00
  • 1ad7abf33d refactor(TransPyV): 统一自举写法(novirtual / define / rawptr→* / 去续行反斜杠) TermiNexus 2026-10-02 02:16:37 +08:00
  • 7e82ed6940 chore(debug): 移除 [DBG-GEN] 一次性插桩(改走静态分析) TermiNexus 2026-10-02 02:14:54 +08:00
  • 1d1efc6288 debug(gen): 一次性插桩打印 Generator.FuncGenBase 字段查找上下文(用完删除) TermiNexus 2026-10-02 02:10:58 +08:00
  • f865986675 fix(stub): App 预注册注入依赖 vpi 时跳过函数/方法 declare,避免打断多遍收敛 TermiNexus 2026-10-02 01:47:18 +08:00
  • 981af07d5c fix(phase): App 预注册期注入依赖 vpi,修 list[ast.ClassDef*] 票名前缀分裂 TermiNexus 2026-10-02 01:03:31 +08:00
  • 57f8c655c8 chore(debug): 移除 [DBG-P7] 一次性插桩(根因已定位) TermiNexus 2026-10-02 00:59:44 +08:00
  • acd6c9a615 docs(expr): 去掉指向已删除的 wiki/14-oo-refactor.md 的注释引用 TermiNexus 2026-10-02 00:47:17 +08:00
  • 3b8a2b225f debug(stub): 补全 [DBG-P7] 插桩覆盖所有票名产生路径(定位后删除) TermiNexus 2026-10-02 00:34:38 +08:00
  • 96c110242e debug(stub): 一次性插桩定位 ast.ClassDef 票名前缀分裂(定位后删除) TermiNexus 2026-10-02 00:32:05 +08:00
  • 9994d2e983 fix(stub): 包 __init__ 判定改按模块名,修 ast.ClassDef 票名前缀分裂 TermiNexus 2026-10-02 00:07:23 +08:00
  • b91dfef777 feat(stub): vpi 注入侧递归登记嵌套类为扁平名 {外类}_{内类} TermiNexus 2026-10-01 23:39:11 +08:00
  • c3f554f1f5 feat(struct): 嵌套 class/struct 发射为独立结构体 {外类}_{内类} TermiNexus 2026-10-01 23:30:15 +08:00
  • 3ccc37ca3f fix(type): 泛型实参归一先剥尾随星号,消除包前缀票名分裂 TermiNexus 2026-10-01 22:40:54 +08:00
  • 02b9429363 fix(type): void* 归并分支的 match 必须守 None,修 ASan 空指针崩溃 TermiNexus 2026-10-01 22:07:41 +08:00
  • be14fa5f94 fix(ctor): REnum 变体构造识别取错限定名,导致构造物化豁免失效 TermiNexus 2026-10-01 21:44:55 +08:00
  • 2f6db41b11 fix(void): 形参与字段注解禁止 void,改为编译期 fail-fast TermiNexus 2026-10-01 21:43:11 +08:00
  • 59865b2a3a feat(TPV): void 值操作 fail-fast(声明 void 变量 / 把 void 值当值用一律报 TypeError) TermiNexus 2026-10-01 21:39:48 +08:00
  • e0bcf4bcef feat(TPV): 裸名 void 作为 t.CVoid 的别名(void* = i8*) TermiNexus 2026-10-01 21:37:40 +08:00
  • 21d5cd1cd1 fix(ExprGenBase): REnum 变体构造纳入「构造物化」豁免;错误报文只报问题本身 TermiNexus 2026-10-01 21:17:49 +08:00
  • a714ec9d37 fix(VpiReader): 返回/形参注解切分只在顶层 | 处断段(括号感知) TermiNexus 2026-10-01 20:45:21 +08:00
  • 8e3811c490 fix(CallGen): 跨模块调用的 declare 形参与实参统一以定义侧为准 TermiNexus 2026-10-01 19:53:13 +08:00
  • 93e983f74e fix(TPV): 删除残留的"| t.CPtr struct 引用语义吸收"(T* 被降一层的真正根因) TermiNexus 2026-10-01 17:46:53 +08:00
  • 0a81e67e89 fix(TPV/TypeGenResolve): rawptr[T]/t.CPtr[T] 恒追加 1 层,删除"裸类引用吸收"旧补偿 TermiNexus 2026-10-01 16:51:31 +08:00
  • f748cae562 fix(TPV/CallGenCall): 判据化重加兄弟 Mixin 方法解析(修 NoVTableCrossMixinTest 未定义符号) TermiNexus 2026-10-01 15:00:55 +08:00
  • dc4e06d88b fix(TPV): 本文件自己声明的 extern 裸名优先于依赖 vpi 注入的同名声明 TermiNexus 2026-10-01 14:46:47 +08:00
  • d979cc8c1f fix(TPV/ExprGenName): 结构体值局部变量在使用处要求同型结构体值时 load 出值 TermiNexus 2026-10-01 14:26:18 +08:00
  • 25c1c9875b fix(TPV/VpiReader): 阻断 vpi 自注入(循环 import)+ __init__ 声明端与定义端同取 void TermiNexus 2026-10-01 14:11:45 +08:00
  • 2bfcb6ef6e fix(TPV): 修 455c760 遗漏——args_node 必须声明在 decl_reuse 分支之外 TermiNexus 2026-10-01 13:57:04 +08:00
  • 455c7608b1 fix(TPV): 方法先声明后定义(消除方法查找的源顺序依赖),删除兄弟 Mixin 兜底 TermiNexus 2026-10-01 13:45:10 +08:00
  • 875a9beb08 refactor(TypeGenResolve): 裸类名恒为原型(struct 本身),删除 5 处 HasNew 自动升指针 TermiNexus 2026-10-01 12:38:24 +08:00
  • 660427f759 fix(TypeGenResolve): X | t.CPtr 的 struct 引用语义吸收这层指针,修 json __getitem__ 报 JsonValue** vs JsonValue* 层数不同 TermiNexus 2026-10-01 00:51:51 +08:00
  • 3329c9beae fix(TPV/CallGenBase): text.ll 返回类型的命名指针不再坍缩成通用 i8*,修 FakeDuck parts[0] 报整数隐式转指针 TermiNexus 2026-09-30 23:53:18 +08:00
  • f2f3e5b7bf fix(TypeGenResolve): 裸名内建类型统一为 t.X/c.X,消 CPtr 与 t.CPtr 的分裂与误报 ERROR TermiNexus 2026-09-30 22:59:01 +08:00
  • 79f044bc47 fix(TypeGenResolve): _class_true_def_sha1 只取 hex 段,修双点前缀 d1ed…461..AST* TermiNexus 2026-09-30 22:45:26 +08:00
  • 7b0c05b70b fix(TypeGenResolve): 类名前缀校正为真定义模块,消 ast.AST(包) 与裸 AST 的前缀分裂 TermiNexus 2026-09-30 22:16:15 +08:00
  • 0f6e102e02 fix(TypeGenResolve): rawptr[T] 下标形漏折叠致两个 list 特化体(修 _list.vp:83 return self 的 CastError) TermiNexus 2026-09-30 21:39:21 +08:00
  • b289e93650 fix(泛型实参 T* 形): 补齐 T* 消费侧(VpiReader 段解析 / AnnotClassName 提取 / 构造推断) TermiNexus 2026-09-30 21:16:48 +08:00
  • 2b2b70e636 fix(CallGenDispatch): __sizeof__ 认归一后的指针规范形 T*(尾随 * 一律按 8) TermiNexus 2026-09-30 20:58:02 +08:00
  • 83baf5a4b6 fix(TypeGenResolve/ExprGenName): 指针类型实参统一为 T*,消泛型特化名分裂(假报错 CastError) TermiNexus 2026-09-30 20:19:42 +08:00
  • f3c708613f refactor(TransPyV): 统一自举写法(字段默认值/novirtual/define/enum/指针注解) TermiNexus 2026-09-30 19:09:22 +08:00
  • 849001ae9e fix(AssignGen): 禁止注解声明类型被右值继承上转窄化 TermiNexus 2026-09-30 19:08:58 +08:00
  • a92b38e826 fix(Translator): 文件级类名预登记覆盖三种 _declare_only 模式(修 Phase 1a 的类型实参裸名分裂) TermiNexus 2026-09-30 17:43:15 +08:00
  • 1cce6c4a47 fix(TypeGenResolve): 「保留裸名」误报的第二入口——逐实参归一时跳过定长数组的元素个数位 + CDefine 名不再算类名 TermiNexus 2026-09-30 16:05:29 +08:00
  • 2a798dd643 fix(类型转换): int→i1 目标改为真值归一化 != 0,不再 trunc 取最低位 TermiNexus 2026-09-30 15:14:32 +08:00
  • ef4421db20 fix(TypeGenResolve): 定长数组容器的「元素个数」实参不参与类名归属归一(消「保留裸名」误报) TermiNexus 2026-09-30 14:05:03 +08:00
  • d63787f8fc fix(TypeGenResolve): 「保留裸名」取证对 CTypedef/内置标量/泛型形参不再报 ERROR TermiNexus 2026-09-30 13:51:22 +08:00
  • 0e5ebd07ba fix(TypeGenCType): 撤销在子类类体重复声明父类字段(TypeGenBase 已声明),修指针隐式转整数误报 TermiNexus 2026-09-30 10:46:43 +08:00
  • 6a287b955e fix(TypeGenCType): 跨模块可见字段改为在类体声明(修 Repl.vp:802 属性链求值为空) TermiNexus 2026-09-30 09:59:54 +08:00
  • c1a22411ca fix(TypeGenResolve): 规则 5.5 增「本文件顶层类名」证据,模块级早于类定义的窗口不再留裸名 TermiNexus 2026-09-30 00:23:43 +08:00
  • e1bb42fade fix(ClassGenGeneric): 泛型特化不再平移"类定义窗口",裸类名实参不再冻结成裸名 TermiNexus 2026-09-30 00:20:30 +08:00
  • 31f341cf6f fix(transpyv): vpi 注入期登记「本模块声明的类」,裸类名实参不再冻结成裸名 TermiNexus 2026-09-29 22:29:48 +08:00
  • df1244d6f4 fix(transpyv): 裸类名归属补「符号名真源」(entry.Ty 的 {SHA1}.{类} 前缀)+ 取证日志 TermiNexus 2026-09-29 21:28:18 +08:00
  • bbd0cdbf62 fix(transpyv): 自引用类名归属加「表无关」判据,字段与形参不再分裂成两个特化名 TermiNexus 2026-09-29 20:16:05 +08:00
  • 1b2324edab fix(transpyv): 修正 mark_module_class 的表生命周期(ASan 悬空键崩溃) TermiNexus 2026-09-29 19:14:10 +08:00
  • 2b8cc2a69b fix(transpyv): 特化名规范化下沉到唯一生成器,裸实参路径不再造第二个名字 TermiNexus 2026-09-29 18:53:58 +08:00
  • 868d48ae22 fix(transpyv): 自引用字段的特化名不再留在裸名(新增"本模块声明类"归属表) TermiNexus 2026-09-29 18:47:35 +08:00
  • dddaba3254 fix(transpyv): 5.5 步补「类定义中」回退,字段侧特化名不再留在裸名 TermiNexus 2026-09-29 18:38:52 +08:00
  • 65d7f7cc31 fix(transpyv): 泛型实参里的「本模块裸类名」也加定义模块 SHA1,特化名不再分裂 TermiNexus 2026-09-29 18:31:52 +08:00
  • 8e7d7feb57 fix(transpyv): rawptr[T] / t.CPtr[T] 对裸类引用吸收一层指针(不再多包一层) TermiNexus 2026-09-29 18:07:37 +08:00
  • c2d7480f3d fix(transpyv): 槽视图统一 cast 到声明类型(47 处,含 codegen 自身) TermiNexus 2026-09-29 15:07:18 +08:00
  • 07f2f2e9fc fix(transpyv): CallGenCBuiltin 的 clobbers 改为单级 t.CPtr,并同步该文件语法迁移 TermiNexus 2026-09-29 14:47:42 +08:00
  • 1f93550b6d revert(transpyv): 还原 *existing.Ty = <boxed 变体构造>(c.DerefAs 是绕过自家检查) TermiNexus 2026-09-28 23:21:36 +08:00
  • a9e4aafae1 fix(transpyv): ClassGenDef 用 c.DerefAs 物化 REnum 变体(替代 *ptr = <boxed 构造>) TermiNexus 2026-09-28 23:15:46 +08:00
  • fddadf9d56 fix(transpyv): 修正 _PyiClass 的 type_params 局部变量注解(list[ast.AST*]* → list[str]*) TermiNexus 2026-09-28 22:54:50 +08:00
  • aa52cf157d revert(transpyv): 回滚跨模块链表 Next 改访问器(改由编译器沿继承链解析字段名) TermiNexus 2026-09-28 21:48:53 +08:00
  • 13080f646f fix(transpyv): 跨模块链表 Next 字段改用访问器(消除 __inherited_N 占位名 fail-fast) TermiNexus 2026-09-28 21:20:58 +08:00
  • 75ea6fb9b2 fix(transpyv): 消除隐式向下转型(ast.AST* 实参 → 派生 AST 形参) TermiNexus 2026-09-28 20:20:56 +08:00
  • af5fba81c5 fix(transpyv): 严格指针规则下的源码级窄化与跨层指针写法修正 TermiNexus 2026-09-28 19:40:42 +08:00
  • 825fe6d326 fix(TransPyV): 指针 cast 的跨层 idiom 修正:(str | t.CPtr)(x) → rawptr(x) TermiNexus 2026-09-28 18:43:59 +08:00
  • d579d70113 fix(TransPyV): 修正形参/字段链节点的注解为 llvmlite.ParamNode* TermiNexus 2026-09-28 17:54:13 +08:00
  • 70448f4590 fix(CallGenLeafKit): 闭包/函数指针调用的形参链表误注解 Function* → ParamNode*(Vipeye 600/814/818) TermiNexus 2026-09-28 17:50:05 +08:00
  • 29acf97dbc fix(CallGenCBuiltin): 多输出 asm 返回 struct 的字段链表误注解 Function* → ParamNode*(Vipeye 1268) TermiNexus 2026-09-28 17:18:41 +08:00
  • eb1065f387 fix(CallGen): Function 的 Param 形参链与 llvmlite.Func 的 ParamNode 构造链不可互传(Vipeye 329/401/1065) TermiNexus 2026-09-28 17:16:57 +08:00
  • 23428b63a5 fix(CallGenCall): 虚表/函数类型参数链表节点误注解 Function* → ParamNode*(Vipeye 143/146/179/184) TermiNexus 2026-09-28 17:04:57 +08:00
  • 4807012bd8 fix(CallGenBase): struct 字面量字段链表节点误注解 Function* → ParamNode*(Vipeye 922/927) TermiNexus 2026-09-28 17:02:35 +08:00
  • 9c427aa548 fix(CallGenCall): 拆开 vtable_base 类型推断的变量复用(LLVMType* 与 StructEntry* 不可同一变量) TermiNexus 2026-09-28 16:54:25 +08:00
  • 3bed3a70a6 docs(len): len() 两条 fail-fast 报文措辞与 TPC 逐字对齐(行为零改动) TermiNexus 2026-09-28 15:53:09 +08:00
  • be1acdb602 feat(cast): 放行数组退让([N]T* → T* 单向),与 TPC 同口径 TermiNexus 2026-09-28 15:38:42 +08:00
  • e2c4c7645e fix(cast): 补继承上转豁免(Derived*→Base* 放行),与 TPC 同口径 TermiNexus 2026-09-28 15:29:42 +08:00
  • f03aea15c7 fix(cast): 规则③两侧对齐——聚合值↔指针也上闸,仅豁免构造物化(p: Point = Point()) TermiNexus 2026-09-28 15:17:37 +08:00
  • ee50ce61fe feat(cast): 指针隐式转换按“同级+被指类型无损”判定(通用指针 t.CPtr/i8* 通配),并修诊断错位 TermiNexus 2026-09-28 15:10:30 +08:00
  • 59a9fc5b1f fix(cast): None 允许隐式转换为任意类型(修 p.fd_used[fd] = None 被“指针隐式转整数已禁止”拦下) TermiNexus 2026-09-28 14:59:31 +08:00
  • dfae2f090c refactor(return): 移除 @c.CReturn 处理,改为遇到即 fatal_error(只保留 -> tuple[...]) TermiNexus 2026-09-28 13:57:05 +08:00
  • d06c4d2c0e refactor(main): 旧写法 a: static int 迁移为前置形式 static a: int TermiNexus 2026-09-28 13:49:30 +08:00
  • f2d7b748ea fix(func): 末尾收尾的可达性判据只认 _ctrl_merge_reachable(删掉“穷尽通配臂即不可达”的错误推断) TermiNexus 2026-09-28 12:41:04 +08:00
  • 5e100e2195 fix(match): REnum 变体字段绑定不再静默跳过(__types.vp bits NameError) TermiNexus 2026-09-27 23:58:15 +08:00
  • a79e723e8d fix(dwarf): DIFile 改用绝对路径,栈转储显示完整路径并回读源码行 TermiNexus 2026-09-27 19:18:16 +08:00
  • bb864dff6f fix(traceback): stackmap 的文件名全部退化为 ?? —— _tb_parse_dec 不跳前导空格 TermiNexus 2026-09-27 19:01:23 +08:00
  • 31898ab4a5 fix(stubmerger): define→declare 降级时剥掉行尾函数级元数据附加(!dbg !N) TermiNexus 2026-09-27 18:30:39 +08:00
  • 66e697e8df feat(codegen): 模块级 extern 全局生成外部声明(@裸名 = external global T) TermiNexus 2026-09-27 17:56:51 +08:00
  • d82f24e17a fix(diag): AST 解析失败日志行内联 行/列 + 原因 TermiNexus 2026-09-27 17:32:34 +08:00
  • e65f04f16b fix(codegen): 字段表↔槽位一致性护栏豁免联合体 TermiNexus 2026-09-27 17:26:04 +08:00
  • 0279965074 fix(codegen): 指针强转基座 T*(x) 的字段读写补按需过滤类名通道 TermiNexus 2026-09-27 16:02:04 +08:00