Commit Graph
13 Commits
Author SHA1 Message Date
TermiNexus 24d3de4b72 fix(TPV): 统一浮点 CDefine 注册路径 + 1a 预扫描签名防 UAF - handle_module_level_var/PreScan 统一走 _register_cdefine_from_value(浮点/整数自动识别); 新增 register_cdefine_double/lookup_cdefine_double(%.17g 存值); translate_name_value 浮点 CDefine 返回 ConstFloat(修复 llc ret i32 0); 1a 预扫描函数签名提前泛型特化到 mark1 前(防 UAF); 移除 ASSIGN-DBG; 临时定位插桩 CDEF-DBG 2026-08-08 18:18:44 +08:00
TermiNexus ee8f532dc5 fix(compiler): 泛型注解收集类型实参时替换泛型参数 T + 属性访问 fail-fast traceback
- _get_type_name_from_annotation Name 分支应用 resolve_generic_type_name,
  修复 ndarray[T] 二次递归特化崩溃(SimdTest numpy)
- _specialize_generic_class 入口防御性替换残留类型参数名
- translate_attribute/get_attribute_ptr 非指针属性访问改 fatal_error(Python traceback 风格)
- c.Deref(ptr).attr 属性访问 base 取指针本身不做 load
- list[str] 容器 elem_size 4→8 修复(str 是指针 8 字节)
- 泛型函数显式类型参数 xxx[T](x) 回退普通函数调用;T(v) 转换走 resolve_annotation_type
2026-08-08 15:23:48 +08:00
TermiNexus 94ae2aee52 refactor: 提取 _lookup_sha1_from_modname_raw,消除 HandlesExpr 重复的模块 SHA1 查找段 2026-08-08 00:02:39 +08:00
TermiNexus 989e898a93 refactor: 提取公共 bytes_to_hex/nibble_to_hex_char,消除三处重复的 SHA1 hex 转换 2026-08-07 23:29:39 +08:00
TermiNexus 7d6917762c fix(core): 数组下标 <32 位索引 zext 到 i32,修复字节索引越界 2026-08-07 22:36:28 +08:00
TermiNexus 987088fdff 'fix(core): support keyword args in method calls
_translate_method_call ignored cl.keywords, so keyword-style calls
like add_argument("--count", short="-c", arg_type=INT) lost all
keyword values (short_name/arg_type stayed default), breaking
Test 4. Match keywords against function params by name, fill
missing params with zero values to keep call arity consistent.'
2026-08-07 17:30:41 +08:00
TermiNexus 6d3fc4569c 通过了 Memhub BuddyTest 测试 2026-08-06 19:50:46 +08:00
TermiNexus f8436c74d2 提交新的建议忽略 2026-08-06 18:08:09 +08:00
TermiNexus 8ad500c4da 基本稳定可以编译 Test 2026-08-05 20:12:08 +08:00
TermiNexus a3b9bdc409 修正了逻辑,使 TPV 可以编译 Test,但自举还有一段距离 2026-08-03 02:01:20 +08:00
TermiNexus 9dcf34599d 升级了仿 Python 错误堆栈提示,修复了 bool 不存在的问题,将 bool 改为 i1 而非 i8,实现了 bool 的归一化 2026-07-31 04:12:12 +08:00
TermiNexus bfb55d68f4 取消了 i8* == i8* 实际使用 strcmp 的规则,修复了诸多 Bug 2026-07-30 21:56:19 +08:00
TermiNexus d227bee139 将 .py 和 .pyi 后缀名改为了 .vp 和 .vpi 后缀名 2026-07-30 16:34:50 +08:00