错拼 rowptr 改为 rawptr
This commit is contained in:
1 parent
7cba4cbc95
commit
9a191daa8d
70 files changed
+585
-585
No files matched your search
@@ -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)
|
||||
|
||||
Reference in new issue
Block a user