Commit Graph

  • 64f3d79b64 refactor(asan): ASan 运行库目录改为按 PATH 自动探测,去除本机硬编码路径 TermiNexus 2026-10-07 11:25:37 +08:00
  • 305242aa8a feat(parse): typedef 右值纳入类型位,支持 const T / T* TermiNexus 2026-10-05 20:36:29 +08:00
  • 59378e6a2a fix(codegen): 内建标量别名双参指针包装 + 解引用赋值按 c.Load 原样拷贝 TermiNexus 2026-10-05 14:14:25 +08:00
  • 397bab1360 chore(vast_c): 同步 C 解析器二进制产物 _parser.pyd TermiNexus 2026-10-05 09:26:26 +08:00
  • 9fe88831f3 fix(codegen): 修复模块级 str 字面量全局的初始化器缺失 TermiNexus 2026-10-05 09:26:26 +08:00
  • 07ba7a4fe5 fix(codegen): 新规范迁移暴露的 4 类解析/代码生成缺陷 TermiNexus 2026-10-05 09:25:02 +08:00
  • 65f0e87193 feat(dunder): 补齐 __bool__ 条件真值调度与反向运算符/位运算增量重载 TermiNexus 2026-10-03 00:39:53 +08:00
  • 2f70bd2733 feat(switch): switch 允许重复 case 标签(match 仍禁止) TermiNexus 2026-10-03 00:18:54 +08:00
  • d6eefcbece fix(switch): case 标签支持裸名(按值引用)并给出常量标签 fail-fast TermiNexus 2026-10-03 00:14:51 +08:00
  • 61df58334f fix(match): 补齐 TPC 侧 MatchHandle._CaseLabelKey TermiNexus 2026-10-02 23:35:58 +08:00
  • 5de9cb6527 fix(vast_c): C 解析器补齐 match 的 is_switch,并实现 switch / fallthrough TermiNexus 2026-10-02 23:34:33 +08:00
  • 74cfaeb917 feat(switch): 新增 switch 语句并禁止 match 内 fallthrough TermiNexus 2026-10-02 23:15:42 +08:00
  • 8b6c36d24f feat(match): 重名 case 标签 fail-fast TermiNexus 2026-10-02 22:44:34 +08:00
  • 4353efd8ff fix(flow): 嵌套/协程函数体独立 break/continue 目标,越界即 fail-fast TermiNexus 2026-10-02 22:40:04 +08:00
  • 34c4eeff02 fix(flow): 循环/match 外的 break/continue 改为 fail-fast TermiNexus 2026-10-02 22:35:26 +08:00
  • cc0615e519 feat(match): fallthrough 软关键字 + case 内 break 跳出 match TermiNexus 2026-10-02 22:33:26 +08:00
  • 9ff301d747 refactor(types): 移除 list[T, N] 的定长数组遗留判据,统一走 _list.vp TermiNexus 2026-10-02 22:16:30 +08:00
  • 0efdc9e111 fix(expr): 整型与 None 比较统一按 == 0 / != 0 处理 TermiNexus 2026-10-02 22:07:06 +08:00
  • 5eef845e5b feat(struct): 嵌套 class/struct 发射为独立结构体 {外类}_{内类} TermiNexus 2026-10-01 23:29:54 +08:00
  • a8f6ca006d feat(struct): TPC 前端支持 struct 关键字(含 C 加速解析器) TermiNexus 2026-10-01 23:07:49 +08:00
  • 85d68e5913 fix(type): 支持内建裸名函数指针构造子 callable[[...], R] TermiNexus 2026-10-01 21:53:43 +08:00
  • f0e630457f chore(Phase2Translator): 自动并行度上限 8 worker,并精简并行提示文案 TermiNexus 2026-10-01 20:58:08 +08:00
  • 42c13e372b fix(HandlesAssign): 对"指针的指针"右值的自动解引用收窄为取地址形态 TermiNexus 2026-10-01 18:33:21 +08:00
  • 2ba38ae842 fix(Phase2Translator): 并行 worker 数不再按可用内存降级串行,改为"预分配校验 + 强制预留"(TPC_JOBS 可显式覆盖) TermiNexus 2026-10-01 00:23:16 +08:00
  • b18d57fa38 perf(全仓库/正则): 字面量正则全部改模块级预编译常量(15 文件 / 115 个调用点) TermiNexus 2026-09-30 23:47:36 +08:00
  • 4641777db1 perf(Phase2Translator/_split_ll): 括号计数走 C 级 str.count 快路径 + 调用点预筛 TermiNexus 2026-09-30 23:18:29 +08:00
  • e292e2390d perf(Phase2Translator): 文本读缓存改按路径直存(零 stat),正确性靠写/删点显式失效 TermiNexus 2026-09-30 23:15:22 +08:00
  • 1748940d30 perf(Phase2Translator): 文本读全走 LRU 缓存 + 写侧显式失效,削重复文件 I/O TermiNexus 2026-09-30 23:13:01 +08:00
  • 3658ab0637 perf(Phase2Translator/IRMetadataFix): 削逐行热点——跳过无谓 strip、预编译逐行正则、C 级数字扫描 TermiNexus 2026-09-30 23:04:25 +08:00
  • e2c84daa65 fix(Handles): 成员表登记改实时按名判重,消成员表重名条目(AST.children 重复) TermiNexus 2026-09-30 19:31:21 +08:00
  • a7d8589af6 fix(HandlesAnnAssign): 补上指针占位类名判据的定义,修 _PTR_MARKER_CLASS_NAMES 未定义 TermiNexus 2026-09-30 19:10:59 +08:00
  • b0aa9f6d76 fix(Handles): 注解声明的类是权威类型,赋值不得改掉它 TermiNexus 2026-09-30 19:09:37 +08:00
  • ecd336771f fix(FuncGen): base/字段偏移一律按"重名条目不占槽位"算,修 MatchCase 偏移 6(应为 7) TermiNexus 2026-09-30 18:44:48 +08:00
  • 2e7bac1816 fix(HandlesImports/HandlesClassDef): 剥掉"祖先块前缀的陈旧半截副本",消除成员表重名条目 TermiNexus 2026-09-30 18:41:24 +08:00
  • c2f53852ee fix(Handles/PythonParser/DeclarationGenerator): 补齐 3 处"调用了不存在成员"的死路径 + 1 处被 hasattr 掩盖的静默降级 TermiNexus 2026-09-30 18:23:25 +08:00
  • 52ea21f082 fix(LlvmGenerator/Phase2Translator): 本模块声明的类钉死本模块 SHA1 前缀,消除同名类前缀漂移 TermiNexus 2026-09-30 18:12:24 +08:00
  • ab906f2cde fix(HandlesExprCall): 构造的 self 按 callee 形参类型解析(同名类消歧),并合并"sha1 全名键"分支 TermiNexus 2026-09-30 17:00:50 +08:00
  • ba7e117ecb fix(HandlesExprCall): 同名类构造消歧——ctor 的 self 实参按 callee 限定类名解析,不再回退有歧义的短名 TermiNexus 2026-09-30 16:38:09 +08:00
  • cad70fa8f3 chore(诊断): len 分派 fail-fast 追加成员槽来源明细(项数/base/下标/名序/布局槽/实例同源判定) TermiNexus 2026-09-30 16:16:38 +08:00
  • 9afd6a45ed fix(HandlesClassDef/HandlesImports): 展平块幂等——块已整段在表头/尾时不再重复插入(修 41→73 的 body 分叉) TermiNexus 2026-09-30 15:44:13 +08:00
  • 83453c68db fix(HandlesImports): 解冻 struct 加载——缓存键缺失也删、索引陈旧定点再读、opaque 条目不再压住好 body TermiNexus 2026-09-30 15:44:10 +08:00
  • 393ffefcd5 fix(HandlesAssign): self 属性写入的基址收口统一为 _ConcretizeGepBase;收口失败不再静默丢写 TermiNexus 2026-09-30 15:14:31 +08:00
  • 7ee6ebe6b0 fix(类型转换): int→i1 目标改为真值归一化 != 0,与 bool(x)/if 条件同判据 TermiNexus 2026-09-30 15:14:31 +08:00
  • 3efe83f1ea fix(编译期名称解析): 修 StructGen 缺 _vlog 导入与 HandlesImports 的 node/Node 误用 TermiNexus 2026-09-30 14:55:40 +08:00
  • e5f044dd03 chore(诊断): AnnAssign RHS 为 接收者链.方法(...) 时补接收者基址诊断 + 最近一次属性读取失败原因 TermiNexus 2026-09-30 14:45:55 +08:00
  • 00edd90c28 fix(Handles*): GEP 基址 opaque pointee 收口统一为单一判据源,补齐同族 12 处缺口 TermiNexus 2026-09-30 14:42:56 +08:00
  • 7aa12263f5 fix(HandlesExprAttr/BaseGen): _get_attr_ptr 的 self 分支补 opaque 基址收口(孪生体 bitcast)+ GEP 守卫报出 TPC 发射点 TermiNexus 2026-09-30 14:35:50 +08:00
  • 49930c56c7 fix(LLVMCG/HandlesExprAttr): REnum 变体字段按唯一变体键取槽 + 修 _PointeeMatchesStruct 的「同模块前缀」误判 TermiNexus 2026-09-30 12:46:37 +08:00
  • 64ddabbe17 feat(HandlesAnnAssign/HandlesExprAttr): 左值注解靶型提示(target-typing)——属性链读错类名时按注解类兜回 TermiNexus 2026-09-30 12:28:39 +08:00
  • a1c43a7b3b chore(诊断): MemberLookupFailFast 补取证——字段所有者、类键/实例名、登记为该类的变量与实际 pointee TermiNexus 2026-09-30 12:26:05 +08:00
  • 43853bc455 fix(HandlesExprAttr): 基座 pointee 与 Gen.structs 的匹配补「同 sha1 前缀」与「同短名唯一候选」 TermiNexus 2026-09-30 12:20:20 +08:00
  • 2aa55f36b9 fix(LLVMCG/Handles): GEP 基址 opaque 时按同短名找已具化孪生体并 bitcast;守卫报文补实例清单 TermiNexus 2026-09-30 11:57:07 +08:00
  • 55cbf1d261 fix(HandlesImports): 继承前缀前置改为"按表头判幂等",不再按名字过滤整块(重名继承项不再被删) TermiNexus 2026-09-30 11:18:07 +08:00
  • a43513c9a7 fix(FuncGen): 成员表与 body 等长时不再做类型对齐校准(base 恒为 0),修 TypeGenMixin 字段偏移平移 TermiNexus 2026-09-30 11:15:58 +08:00
  • de89fda73d fix(HandlesClassDef/DeclarationGenerator): 未声明字段不再静默兜底 i32,推不出类型即 fail-fast TermiNexus 2026-09-30 10:58:23 +08:00
  • 1903ed14f6 fix(HandlesClassDef): 类体字段与祖先字段重名 ⇒ fail-fast(消"继承段错位写错槽"与 split-brain) TermiNexus 2026-09-30 10:50:23 +08:00
  • 909d8ff0eb fix(诊断): _get_node_info 还原自动注入 import 的行偏移;属性写入失败补成员槽来源明细 TermiNexus 2026-09-30 10:46:42 +08:00
  • a18ca4da3b fix(ExprAttr): 嵌套属性读的每个 silent return 都留痕(含内层失败原因链),Repl.vp:802 类错误不再只能看到"基座形态" TermiNexus 2026-09-30 09:59:27 +08:00
  • c86ecb0c89 refactor(LLVMCG/Handles): 直建 ir.Function 点全部收敛到幂等入口,3 处不再吞 fail-fast TermiNexus 2026-09-30 09:53:41 +08:00
  • 4d14334bd2 fix(LLVMCG): 成员表对齐改为「前缀锚 vs 尾部锚」按类型可写入性打分,修 Generator.vp:164 误报 TermiNexus 2026-09-30 00:39:06 +08:00
  • 1776dfa60a fix(LLVMCG): 尾部对齐加「前缀数 == 父类 struct 槽数」前置校验,修正 Generator.vp:136 误报 TermiNexus 2026-09-29 23:58:09 +08:00
  • bd92dfdadf fix(LLVMCG): 成员表重名/联合类型字段不再打断布局配对,ExceptHandler.name 取到槽 9 TermiNexus 2026-09-29 23:48:52 +08:00
  • 8f1ec5b715 fix(LLVMCG): llvmlite Function 创建事务化 + 不再吞 fail-fast,悬空名字不再复现 TermiNexus 2026-09-29 23:31:57 +08:00
  • b06dac1d6b fix(LLVMCG): 字段偏移改用「冻结表有效性锚点 + 尾部对齐」,AnnAssign.value 不再读到 i32 TermiNexus 2026-09-29 23:18:37 +08:00
  • 90d81df4f8 fix(tpc): 自指针指向 opaque 同名实例时归一为具化实例;GEP 边界拦下 opaque pointee TermiNexus 2026-09-29 22:10:11 +08:00
  • 4734a54aed fix(tpc): 函数声明创建前自检签名与半注册名字,DuplicatedNameError 不再裸抛 TermiNexus 2026-09-29 20:45:26 +08:00
  • f28ff1b414 fix(tpc): 字段偏移改为「布局真源优先」,成员表漂移不再整体平移 TermiNexus 2026-09-29 19:57:57 +08:00
  • d305d3369b fix(tpc): IR 边界补「指针操作数类型守卫」,非指针值不再抛裸 AttributeError TermiNexus 2026-09-29 19:24:27 +08:00
  • 415916b3dd fix(tpc): 成员偏移以「实际 GEP 用的 struct 实例」为准,并报出双实例不一致 TermiNexus 2026-09-29 18:18:49 +08:00
  • 935a5b372b fix(tpc): 属性读取返回 None 时登记「确切原因」,5 个 return None 点不再同义 TermiNexus 2026-09-29 17:46:58 +08:00
  • 0392ccdea0 fix(tpc): fail-fast 报文补「属性基址取证事实」,属性读返回 None 不再靠反推 TermiNexus 2026-09-29 17:40:23 +08:00
  • b3bc94f99f fix(tpc): 「类 + t.CPtr」联合合并时传播 IsStruct,指针层数不再多算一层 TermiNexus 2026-09-29 17:35:56 +08:00
  • b652634356 fix(tpc): 裸赋值 RHS 是"联合注解返回"的调用时,从返回注解恢复被指类名 TermiNexus 2026-09-29 17:09:42 +08:00
  • 783aba1e49 fix(tpc): 方法调用/属性调用路径的实参不再静默丢弃(收口"整体错位一格") TermiNexus 2026-09-29 17:01:14 +08:00
  • 62cab0f6c1 fix(tpc): 属性取值为空的报文报出"基座 AST 真实形态"(附只读探针反证) TermiNexus 2026-09-29 16:55:41 +08:00
  • 716cd61a75 fix(tpc): 属性取值失败的报文补"基址诊断" + 补掉声明加载去重签名的真实缺口 TermiNexus 2026-09-29 16:50:51 +08:00
  • aa1b536517 perf(tpc): _generate_structs 去掉两处"纯 no-op 重建",不改任何判定语义 TermiNexus 2026-09-29 16:37:03 +08:00
  • 3399b44c2d perf(tpc): 声明加载去重 + _parse_llvm_type memo(PROF main_prof_72472 前两名热点) TermiNexus 2026-09-29 16:31:29 +08:00
  • 030d0fd149 feat(tpc): PROF 输出按编译启动时间分目录,不再清理旧目录 TermiNexus 2026-09-29 16:26:44 +08:00
  • 467e62a45e fix(tpc): 继承前缀配槽改用 elements 快照,不再对已被重置为 None 的 body 下标 TermiNexus 2026-09-29 16:26:43 +08:00
  • 24573e5af6 fix(tpc): HandlesImports 不再静默 RecursionError + VLogger.warning 补打 exc_info TermiNexus 2026-09-29 16:16:01 +08:00
  • d3537c7b3f fix(tpc): 局部 AnnAssign 反向重建不再窄化「基类指针」声明为派生类 TermiNexus 2026-09-29 14:53:33 +08:00
  • ac0d0f2cc8 perf(tpc): _MemberSlotAccepts 身份短路 + _generate_structs 热路径局部化(profile 第二梯队) TermiNexus 2026-09-29 14:41:48 +08:00
  • 4fc067e3bf perf(tpc): 按 profile 消掉两处主热点(stub 索引每 miss 重扫目录 / vtable 每类全扫函数) TermiNexus 2026-09-29 14:36:57 +08:00
  • f1e7fd6c28 perf(tpc): _LookupStubFuncType 的目录计数按目录 mtime 缓存,去掉每次调用的全量 listdir TermiNexus 2026-09-29 14:32:39 +08:00
  • f4c8c48748 fix(tpc): 函数声明创建全部收口到唯一幂等入口,消除 DuplicatedNameError 裸抛 TermiNexus 2026-09-29 13:50:44 +08:00
  • 8c831a38d3 fix(tpc): 局部 str*/str|t.CPtr 注解不再被压平成 i8*(补 PtrCount<=1 豁免) TermiNexus 2026-09-29 13:33:54 +08:00
  • 25cda80995 fix(tpc): 补齐单/多参泛型类下标注解(list[str] → %"{模板sha1}.list[str]"*) TermiNexus 2026-09-29 13:17:36 +08:00
  • a6c9003a19 fix(tpc): struct body 解冻改用 llvmlite 公开属性 elements(原 _elements 是空操作) TermiNexus 2026-09-29 13:13:17 +08:00
  • 9d8aedec4a fix(tpc): 函数声明创建收口到幂等入口 _CreateOrReuseFuncDecl;清理 DDEBUG 探针 TermiNexus 2026-09-29 13:00:11 +08:00
  • 3bc3c48dee fix(tpc): 注解解析补齐「有类定义 ⇒ 是类」——模块别名占裸名导致类引用退化成 i8** TermiNexus 2026-09-29 12:44:03 +08:00
  • fd212b3ff8 fix(tpc): 联合强转 (T|t.CPtr)(x) 及其属性访问失败改为 fail-fast(附判定依据) TermiNexus 2026-09-29 12:23:54 +08:00
  • 8263f6ec47 fix(tpc): 形参注解解析落到 i32 时 fail-fast(下标/联合形态不可能是 i32) TermiNexus 2026-09-29 12:09:12 +08:00
  • 7167703ca7 fix(tpc): 降级判据改用「注解形态 + 解析结果形状」,放在字段类型唯一漏斗 TermiNexus 2026-09-29 12:04:20 +08:00
  • 66de269ebf fix(tpc): 撤回失效的"事后修复",改为 set_body 前拦截降级布局(不冻结) TermiNexus 2026-09-29 11:56:08 +08:00
  • 07ea8e2fd9 fix(tpc): 布局校验/修复排除 REnum 镜像布局 + set_body 失败带回滚与上下文 TermiNexus 2026-09-29 11:34:17 +08:00
  • dab0823f5c fix(tpc): 收紧「类身份」判据 + REnum 变体载荷解析失败不再被吞 TermiNexus 2026-09-29 11:24:57 +08:00
  • 53bde9157e fix(tpc): REnum 变体嵌套结构体按需补发 + 模式捕获绑不上即 fail-fast TermiNexus 2026-09-29 11:21:19 +08:00
  • 02d89b0900 fix(tpc): 字段解析「内层是类却成通用指针」当场 fail-fast(降级源头定位) TermiNexus 2026-09-29 00:21:39 +08:00
  • 7fb0e49854 fix(tpc): 成员偏移查询点就地修复错位 struct body(修正晚于冻结的时序) TermiNexus 2026-09-29 00:19:06 +08:00