错拼 rowptr 改为 rawptr

This commit is contained in:
TermiNexus committed 2026-09-16 11:42:28 +08:00
1 parent 7cba4cbc95
commit 9a191daa8d
70 files changed
+585 -585

No files matched your search

+12 -12
View File
@@ -154,7 +154,7 @@ class TranslatorGenMixin:
"""预解析模块级函数签名的返回/参数类型,触发泛型类特化"""
if trans is None or fd is None:
return
pool: rowptr[memhub.MemBuddy] = trans.Pool
pool: rawptr[memhub.MemBuddy] = trans.Pool
if pool is None:
return
imp: str = trans._imported_modules
@@ -178,7 +178,7 @@ class TranslatorGenMixin:
# 生成格式: [N x elem_ty] [elem_ty val0, elem_ty val1, ...]
# 用于模块级 t.CArray 列表字面量初始化(不依赖 builder,直接生成常量初始化器)
# ============================================================
def _build_array_initializer_text(self, pool: rowptr[memhub.MemBuddy],
def _build_array_initializer_text(self, pool: rawptr[memhub.MemBuddy],
var_ty: llvmlite.LLVMType | t.CPtr,
list_node: ast.List | t.CPtr) -> str:
"""从 AST List 节点生成 LLVM IR 数组初始化器文本,None 失败"""
@@ -369,7 +369,7 @@ class TranslatorGenMixin:
# t.CArray[char, N] = "..." → [i8 b0, i8 b1, ..., i8 0, ...](字符串字节 +
# 零填充到数组长度;空串返回 zeroinitializer)。
# 不能用字符串指针 GEP 初始化器:会导致 @g = global [N x i8] <ptr> 类型不匹配。
def _build_string_array_initializer_text(self, pool: rowptr[memhub.MemBuddy],
def _build_string_array_initializer_text(self, pool: rawptr[memhub.MemBuddy],
var_ty: llvmlite.LLVMType | t.CPtr,
str_val: str) -> str:
"""字符串字面量初始化数组全局,返回初始化器文本或 None"""
@@ -411,7 +411,7 @@ class TranslatorGenMixin:
# 返回 GEP 初始化器文本: getelementptr inbounds ([len+1 x i8], [len+1 x i8]* @.str.{var_name}, i32 0, i32 0)
# 用于 b64_tab: t.CArray[char, None] = "ABC..." 等字符串初始化指针类型
# ============================================================
def _build_string_ptr_initializer(self, pool: rowptr[memhub.MemBuddy],
def _build_string_ptr_initializer(self, pool: rawptr[memhub.MemBuddy],
mod: llvmlite.LLVMModule | t.CPtr,
var_name: str,
str_val: str) -> str:
@@ -441,7 +441,7 @@ class TranslatorGenMixin:
str_len + 1, str_len + 1, str_name_buf)
return init_buf
def _stg_field_zero_text(self, pool: rowptr[memhub.MemBuddy],
def _stg_field_zero_text(self, pool: rawptr[memhub.MemBuddy],
fty: llvmlite.LLVMType | t.CPtr,
ty_str: str) -> str:
"""按 LLVM 类型生成 storage struct 字段的零值初始化器文本
@@ -473,7 +473,7 @@ class TranslatorGenMixin:
# 仅处理可常量折叠的整型默认值(CONST_INT/CONST_CHAR 及负号字面量);
# 其余(浮点/字符串/None/名字/表达式)返回 None,由调用方按零值兜底。
# ============================================================
def _default_val_const_text(self, pool: rowptr[memhub.MemBuddy],
def _default_val_const_text(self, pool: rawptr[memhub.MemBuddy],
fty: llvmlite.LLVMType | t.CPtr,
ty_str: str,
dval: ast.AST | t.CPtr) -> str:
@@ -511,7 +511,7 @@ class TranslatorGenMixin:
# - _build_stg_struct_init_text:外包 "{ ... }" 作为完整初始化器;
# - vtable 对象 storage:首元素为 vtable 指针,其后追加本函数结果(start_idx=1 跳过字段 0)。
# 无任何非零默认值时返回 None,调用方据此保持原零值路径(避免无谓文本)。
def _build_stg_struct_body_text(self, pool: rowptr[memhub.MemBuddy],
def _build_stg_struct_body_text(self, pool: rawptr[memhub.MemBuddy],
se: GenTypes.StructEntry | t.CPtr,
start_idx: int) -> str:
"""按字段默认值生成 "e0, e1, ..." 元素文本;无非零默认值返回 None"""
@@ -561,7 +561,7 @@ class TranslatorGenMixin:
# 用于模块级对象全局 `X: T = T()`:按字段默认值生成完整 struct 常量
# (LLVM 要求列全每个字段);不生成则字段默认值全丢。
# 无任何非零默认值时返回 None,由调用方保持 zeroinitializer(避免无谓文本)。
def _build_stg_struct_init_text(self, pool: rowptr[memhub.MemBuddy],
def _build_stg_struct_init_text(self, pool: rawptr[memhub.MemBuddy],
se: GenTypes.StructEntry | t.CPtr,
start_idx: int) -> str:
"""按字段默认值生成完整 struct 初始化器;无非零默认值返回 None"""
@@ -585,7 +585,7 @@ class TranslatorGenMixin:
def handle_module_level_var(self, trans: HT.Translator | t.CPtr,
node: ast.AST | t.CPtr) -> int:
"""处理模块级变量声明,创建全局变量"""
pool: rowptr[memhub.MemBuddy] = trans.Pool
pool: rawptr[memhub.MemBuddy] = trans.Pool
mod: llvmlite.LLVMModule | t.CPtr = trans.Module
# CDefine 注解: 编译期常量,不创建全局变量
@@ -1061,7 +1061,7 @@ class TranslatorGenMixin:
Returns:
int: 新增的变量数
"""
pool: rowptr[memhub.MemBuddy] = trans.Pool
pool: rawptr[memhub.MemBuddy] = trans.Pool
mod: llvmlite.LLVMModule | t.CPtr = trans.Module
main_func: llvmlite.Function | t.CPtr = llvmlite.create_function(
@@ -1129,7 +1129,7 @@ class TranslatorGenMixin:
if self.is_global_name(trans, name) != 0:
return
if trans._global_name_count >= MAX_GLOBAL_NAMES:
pool_err: rowptr[memhub.MemBuddy] = trans.Pool
pool_err: rawptr[memhub.MemBuddy] = trans.Pool
err_buf: str = None
if pool_err is not None:
err_buf = pool_err.alloc(256)
@@ -1183,7 +1183,7 @@ class TranslatorGenMixin:
ty_slot[0] = var_ty
return
if trans._nonlocal_name_count >= MAX_GLOBAL_NAMES:
pool_err_nl: rowptr[memhub.MemBuddy] = trans.Pool
pool_err_nl: rawptr[memhub.MemBuddy] = trans.Pool
err_buf_nl: str = None
if pool_err_nl is not None:
err_buf_nl = pool_err_nl.alloc(256)