将部分 | t.CPtr 修正为 rawptr[T]

This commit is contained in:
TermiNexus committed 2026-09-18 17:56:24 +08:00
1 parent eb01a45024
commit 9e2ccbfab7
58 files changed
+3543 -3564

No files matched your search

+40 -40
View File
@@ -86,7 +86,7 @@ def dump_parse_traceback(file_path: str) -> None:
# ---------------- fatal_error(委托 TypeGenErr.fatal_error) ----------------
def fatal_error(node: ast.AST | t.CPtr, msg: str,
def fatal_error(node: rawptr[ast.AST], msg: str,
err_type: str = "SyntaxError") -> None:
"""委托到 gen.TypeGenErr.fatal_error —— 模块级函数的报错通道
@@ -106,7 +106,7 @@ def fatal_error(node: ast.AST | t.CPtr, msg: str,
# ---------------- map_t_type(委托 TypeGenResolve.map_t_type) ----------------
def map_t_type(pool: rawptr[memhub.MemBuddy], type_name: str) -> llvmlite.LLVMType | t.CPtr:
def map_t_type(pool: rawptr[memhub.MemBuddy], type_name: str) -> rawptr[llvmlite.LLVMType]:
"""委托到 gen.map_t_type(原 Handles 壳)"""
if _g_gen is not None:
_g_gen.TypeGenResolve.map_t_type(pool, type_name)
@@ -118,7 +118,7 @@ def resolve_typedef_or_map(pool: rawptr[memhub.MemBuddy],
name: str,
imported_modules: str,
from_imports: str,
trans: HT.Translator | t.CPtr = None) -> llvmlite.LLVMType | t.CPtr:
trans: rawptr[HT.Translator] = None) -> rawptr[llvmlite.LLVMType]:
"""委托到 gen.resolve_typedef_or_map(CTypedef 动态表优先,miss 回退 map_t_type)"""
if _g_gen is not None:
return _g_gen.TypeGenResolve.resolve_typedef_or_map(pool, name, imported_modules, from_imports, trans)
@@ -127,7 +127,7 @@ def resolve_typedef_or_map(pool: rawptr[memhub.MemBuddy],
# ---------------- infer_external_func_ret_ty(委托 CallGenLib._infer_external_func_ret_ty) ----------------
def infer_external_func_ret_ty(pool: rawptr[memhub.MemBuddy],
func_name: str) -> llvmlite.LLVMType | t.CPtr:
func_name: str) -> rawptr[llvmlite.LLVMType]:
"""委托到 gen.CallGenLib._infer_external_func_ret_ty(外部函数返回类型白名单)
vpi 注入 extern declare 时返回类型解析 miss 的兜底:FindFirstFileA/
@@ -150,7 +150,7 @@ def get_current_file() -> str:
# ---------------- _is_ctypedef_annotation(委托 TypeGenCType._is_ctypedef_annotation) ----------------
def _is_ctypedef_annotation(annotation: ast.AST | t.CPtr) -> int:
def _is_ctypedef_annotation(annotation: rawptr[ast.AST]) -> int:
"""委托到 gen._is_ctypedef_annotation(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.TypeGenCType._is_ctypedef_annotation(annotation)
@@ -158,7 +158,7 @@ def _is_ctypedef_annotation(annotation: ast.AST | t.CPtr) -> int:
# ---------------- resolve_annotation_type(委托 TypeGenResolve.resolve_annotation_type) ----------------
def resolve_annotation_type(pool: rawptr[memhub.MemBuddy], node: ast.AST | t.CPtr, imported_modules: str, from_imports: str, trans: HT.Translator | t.CPtr = None, depth: int = 0) -> llvmlite.LLVMType | t.CPtr:
def resolve_annotation_type(pool: rawptr[memhub.MemBuddy], node: rawptr[ast.AST], imported_modules: str, from_imports: str, trans: rawptr[HT.Translator] = None, depth: int = 0) -> rawptr[llvmlite.LLVMType]:
"""委托到 gen.resolve_annotation_type(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.TypeGenResolve.resolve_annotation_type(pool, node, imported_modules, from_imports, trans, depth)
@@ -166,7 +166,7 @@ def resolve_annotation_type(pool: rawptr[memhub.MemBuddy], node: ast.AST | t.CPt
# ---------------- has_decorator_marker(委托 TypeGenErr.has_decorator_marker) ----------------
def has_decorator_marker(node: ast.AST | t.CPtr, marker_name: str,
def has_decorator_marker(node: rawptr[ast.AST], marker_name: str,
depth: int = 0) -> int:
"""委托到 gen.has_decorator_marker(原 Handles 壳)"""
if _g_gen is not None:
@@ -175,7 +175,7 @@ def has_decorator_marker(node: ast.AST | t.CPtr, marker_name: str,
# ---------------- _get_type_name_from_annotation(委托 TypeGenResolve._get_type_name_from_annotation) ----------------
def _get_type_name_from_annotation(pool: rawptr[memhub.MemBuddy], node: ast.AST | t.CPtr) -> str:
def _get_type_name_from_annotation(pool: rawptr[memhub.MemBuddy], node: rawptr[ast.AST]) -> str:
"""委托到 gen._get_type_name_from_annotation(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.TypeGenResolve._get_type_name_from_annotation(pool, node)
@@ -222,7 +222,7 @@ def register_cdefine_double(pool: rawptr[memhub.MemBuddy],
# ---------------- is_cdefine_annotation(委托 AssignGenMixin.is_cdefine_annotation) ----------------
def is_cdefine_annotation(annot: ast.AST | t.CPtr) -> int:
def is_cdefine_annotation(annot: rawptr[ast.AST]) -> int:
"""委托到 gen.is_cdefine_annotation(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.AssignGen.is_cdefine_annotation(annot)
@@ -230,7 +230,7 @@ def is_cdefine_annotation(annot: ast.AST | t.CPtr) -> int:
# ---------------- extract_cdefine_int_value(委托 AssignGenMixin.extract_cdefine_int_value) ----------------
def extract_cdefine_int_value(val_node: ast.AST | t.CPtr) -> int64:
def extract_cdefine_int_value(val_node: rawptr[ast.AST]) -> int64:
"""委托到 gen.extract_cdefine_int_value(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.AssignGen.extract_cdefine_int_value(val_node)
@@ -290,7 +290,7 @@ def reset_module_methods_emitted(sha1: str) -> int:
# ---------------- get_struct_type(委托 StructGenMixin.get_struct_type) ----------------
def get_struct_type(class_name: str) -> llvmlite.LLVMType | t.CPtr:
def get_struct_type(class_name: str) -> rawptr[llvmlite.LLVMType]:
"""委托到 gen.get_struct_type(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.StructGen.get_struct_type(class_name)
@@ -298,7 +298,7 @@ def get_struct_type(class_name: str) -> llvmlite.LLVMType | t.CPtr:
# ---------------- get_enum_base_type(委托 StmtGenDeclMixin.get_enum_base_type) ----------------
def get_enum_base_type(enum_name: str) -> llvmlite.LLVMType | t.CPtr:
def get_enum_base_type(enum_name: str) -> rawptr[llvmlite.LLVMType]:
"""委托到 gen.get_enum_base_type(原 Handles 壳)
枚举(t.CEnum)注册在独立的 EnumTable(EnumEntry),不进 StructTable,
@@ -327,7 +327,7 @@ def find_struct_by_module(name: str, sha1: str) -> GenTypes.StructEntry | t.CPtr
# ---------------- find_struct_by_type(委托 StructGenMixin.find_struct_by_type) ----------------
def find_struct_by_type(struct_ty: llvmlite.LLVMType | t.CPtr) -> GenTypes.StructEntry | t.CPtr:
def find_struct_by_type(struct_ty: rawptr[llvmlite.LLVMType]) -> GenTypes.StructEntry | t.CPtr:
"""委托到 gen.find_struct_by_type(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.StructGen.find_struct_by_type(struct_ty)
@@ -337,7 +337,7 @@ def find_struct_by_type(struct_ty: llvmlite.LLVMType | t.CPtr) -> GenTypes.Struc
# ---------------- register_struct(委托 StructGenMixin.register_struct) ----------------
def register_struct(pool: rawptr[memhub.MemBuddy],
name: str,
struct_ty: llvmlite.LLVMType | t.CPtr,
struct_ty: rawptr[llvmlite.LLVMType],
sha1: str = None) -> GenTypes.StructEntry | t.CPtr:
"""委托到 gen.register_struct(原 Handles 壳)"""
if _g_gen is not None:
@@ -349,7 +349,7 @@ def register_struct(pool: rawptr[memhub.MemBuddy],
def add_field(pool: rawptr[memhub.MemBuddy],
struct_entry: GenTypes.StructEntry | t.CPtr,
field_name: str,
field_ty: llvmlite.LLVMType | t.CPtr) -> int:
field_ty: rawptr[llvmlite.LLVMType]) -> int:
"""委托到 gen.add_field(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.StructGen.add_field(pool, struct_entry, field_name, field_ty)
@@ -443,7 +443,7 @@ def add_imported_module(pool: rawptr[memhub.MemBuddy], imported_modules: str, na
# ---------------- translate_import(委托 ImportsGenMixin.translate_import) ----------------
def translate_import(trans: HT.Translator | t.CPtr, node: ast.AST | t.CPtr) -> int:
def translate_import(trans: rawptr[HT.Translator], node: rawptr[ast.AST]) -> int:
"""委托到 gen.translate_import(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.ImportsGen.translate_import(trans, node)
@@ -451,7 +451,7 @@ def translate_import(trans: HT.Translator | t.CPtr, node: ast.AST | t.CPtr) -> i
# ---------------- translate_import_from_module(委托 ImportsGenMixin.translate_import_from_module) ----------------
def translate_import_from_module(trans: HT.Translator | t.CPtr, node: ast.AST | t.CPtr) -> int:
def translate_import_from_module(trans: rawptr[HT.Translator], node: rawptr[ast.AST]) -> int:
"""委托到 gen.translate_import_from_module(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.ImportsGen.translate_import_from_module(trans, node)
@@ -459,7 +459,7 @@ def translate_import_from_module(trans: HT.Translator | t.CPtr, node: ast.AST |
# ---------------- translate_import_from_names(委托 ImportsGenMixin.translate_import_from_names) ----------------
def translate_import_from_names(trans: HT.Translator | t.CPtr, node: ast.AST | t.CPtr) -> int:
def translate_import_from_names(trans: rawptr[HT.Translator], node: rawptr[ast.AST]) -> int:
"""委托到 gen.translate_import_from_names(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.ImportsGen.translate_import_from_names(trans, node)
@@ -467,7 +467,7 @@ def translate_import_from_names(trans: HT.Translator | t.CPtr, node: ast.AST | t
# ---------------- _get_parent_class(委托 ClassGenBase._get_parent_class) ----------------
def _get_parent_class(cd: ast.ClassDef | t.CPtr, trans: HT.Translator | t.CPtr = None) -> str:
def _get_parent_class(cd: rawptr[ast.ClassDef], trans: rawptr[HT.Translator] = None) -> str:
"""委托到 gen._get_parent_class(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.ClassGenBase._get_parent_class(cd, trans)
@@ -475,7 +475,7 @@ def _get_parent_class(cd: ast.ClassDef | t.CPtr, trans: HT.Translator | t.CPtr =
# ---------------- _register_generic_template(委托 ClassGenGeneric._register_generic_template) ----------------
def _register_generic_template(pool: rawptr[memhub.MemBuddy], cd: ast.ClassDef | t.CPtr, module_sha1: str):
def _register_generic_template(pool: rawptr[memhub.MemBuddy], cd: rawptr[ast.ClassDef], module_sha1: str):
"""委托到 gen._register_generic_template(原 Handles 壳)"""
if _g_gen is not None:
_g_gen.ClassGenGeneric._register_generic_template(pool, cd, module_sha1)
@@ -490,7 +490,7 @@ def _mangle_name_with_sha1(sha1: str, name: str) -> str:
# ---------------- forward_declare_functions(委托 FuncGenDef.forward_declare_functions) ----------------
def forward_declare_functions(trans: HT.Translator | t.CPtr, tree: ast.AST | t.CPtr) -> int:
def forward_declare_functions(trans: rawptr[HT.Translator], tree: rawptr[ast.AST]) -> int:
"""委托到 gen.forward_declare_functions(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.FuncGenDef.forward_declare_functions(trans, tree)
@@ -498,7 +498,7 @@ def forward_declare_functions(trans: HT.Translator | t.CPtr, tree: ast.AST | t.C
# ---------------- create_wrapper_main(委托 TranslatorGenMixin.create_wrapper_main) ----------------
def create_wrapper_main(trans: HT.Translator | t.CPtr, tree: ast.AST | t.CPtr, i32_ty: llvmlite.LLVMType | t.CPtr) -> int:
def create_wrapper_main(trans: rawptr[HT.Translator], tree: rawptr[ast.AST], i32_ty: rawptr[llvmlite.LLVMType]) -> int:
"""委托到 gen.create_wrapper_main(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.TranslatorGen.create_wrapper_main(trans, tree, i32_ty)
@@ -506,7 +506,7 @@ def create_wrapper_main(trans: HT.Translator | t.CPtr, tree: ast.AST | t.CPtr, i
# ---------------- handle_module_level_var(委托 TranslatorGenMixin.handle_module_level_var) ----------------
def handle_module_level_var(trans: HT.Translator | t.CPtr, node: ast.AST | t.CPtr) -> int:
def handle_module_level_var(trans: rawptr[HT.Translator], node: rawptr[ast.AST]) -> int:
"""委托到 gen.handle_module_level_var(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.TranslatorGen.handle_module_level_var(trans, node)
@@ -514,7 +514,7 @@ def handle_module_level_var(trans: HT.Translator | t.CPtr, node: ast.AST | t.CPt
# ---------------- translate_children(委托 TranslatorGenMixin.translate_children) ----------------
def translate_children(trans: HT.Translator | t.CPtr, tree: ast.AST | t.CPtr) -> int:
def translate_children(trans: rawptr[HT.Translator], tree: rawptr[ast.AST]) -> int:
"""委托到 gen.translate_children(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.TranslatorGen.translate_children(trans, tree)
@@ -537,7 +537,7 @@ def SetTempDir(temp_dir: str):
# ---------------- find_func_in_module(委托 CallGenBase.find_func_in_module) ----------------
def find_func_in_module(mod: llvmlite.LLVMModule | t.CPtr, name: str) -> llvmlite.Function | t.CPtr:
def find_func_in_module(mod: rawptr[llvmlite.LLVMModule], name: str) -> rawptr[llvmlite.Function]:
"""委托到 gen.find_func_in_module(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.CallGenBase.find_func_in_module(mod, name)
@@ -545,7 +545,7 @@ def find_func_in_module(mod: llvmlite.LLVMModule | t.CPtr, name: str) -> llvmlit
# ---------------- add_func_to_table(委托 CallGenLeafKit.add_func_to_table) ----------------
def add_func_to_table(funcs: GenTypes.FuncEntry | t.CPtr, func_count: int, name: str, func: llvmlite.Function | t.CPtr, max_count: int, defaults: t.CPtr = None, default_count: int = 0, param_count: int = 0, pool: rawptr[memhub.MemBuddy] = None, def_sha1: str = None) -> int:
def add_func_to_table(funcs: rawptr[GenTypes.FuncEntry], func_count: int, name: str, func: rawptr[llvmlite.Function], max_count: int, defaults: t.CPtr = None, default_count: int = 0, param_count: int = 0, pool: rawptr[memhub.MemBuddy] = None, def_sha1: str = None) -> int:
"""委托到 gen.add_func_to_table(原 Handles 壳)
def_sha1:定义该函数的模块 SHA1(依赖注入路径必须传,避免默认值被挂到导入方名下)
@@ -556,7 +556,7 @@ def add_func_to_table(funcs: GenTypes.FuncEntry | t.CPtr, func_count: int, name:
# ---------------- init_func_table(委托 CallGenLeafKit.init_func_table) ----------------
def init_func_table(pool: rawptr[memhub.MemBuddy], max_count: int) -> GenTypes.FuncEntry | t.CPtr:
def init_func_table(pool: rawptr[memhub.MemBuddy], max_count: int) -> rawptr[GenTypes.FuncEntry]:
"""委托到 gen.init_func_table(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.CallGenLeafKit.init_func_table(pool, max_count)
@@ -564,7 +564,7 @@ def init_func_table(pool: rawptr[memhub.MemBuddy], max_count: int) -> GenTypes.F
# ---------------- translate_call(委托 CallGenMixin.translate_call) ----------------
def translate_call(pool: rawptr[memhub.MemBuddy], builder: llvmlite.IRBuilder | t.CPtr, mod: llvmlite.LLVMModule | t.CPtr, node: ast.AST | t.CPtr, funcs_ptr: t.CPtr, func_count: int, trans: HT.Translator | t.CPtr = None) -> llvmlite.Value | t.CPtr:
def translate_call(pool: rawptr[memhub.MemBuddy], builder: llvmlite.IRBuilder | t.CPtr, mod: rawptr[llvmlite.LLVMModule], node: rawptr[ast.AST], funcs_ptr: t.CPtr, func_count: int, trans: rawptr[HT.Translator] = None) -> llvmlite.Value | t.CPtr:
"""委托到 gen.translate_call(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.CallGen.translate_call(pool, builder, mod, node, funcs_ptr, func_count, trans)
@@ -572,28 +572,28 @@ def translate_call(pool: rawptr[memhub.MemBuddy], builder: llvmlite.IRBuilder |
# ---------------- translate_printf_call(委托 CallGenLeafKit.translate_printf_call) ----------------
def translate_printf_call(pool: rawptr[memhub.MemBuddy], builder: llvmlite.IRBuilder | t.CPtr, mod: llvmlite.LLVMModule | t.CPtr, cl: ast.Call | t.CPtr, trans: HT.Translator | t.CPtr = None):
def translate_printf_call(pool: rawptr[memhub.MemBuddy], builder: llvmlite.IRBuilder | t.CPtr, mod: rawptr[llvmlite.LLVMModule], cl: rawptr[ast.Call], trans: rawptr[HT.Translator] = None):
"""委托到 gen.translate_printf_call(原 Handles 壳)"""
if _g_gen is not None:
_g_gen.CallGenLeafKit.translate_printf_call(pool, builder, mod, cl, trans)
# ---------------- translate_print_call(委托 CallGenLeafKit.translate_print_call) ----------------
def translate_print_call(pool: rawptr[memhub.MemBuddy], builder: llvmlite.IRBuilder | t.CPtr, mod: llvmlite.LLVMModule | t.CPtr, cl: ast.Call | t.CPtr, trans: HT.Translator | t.CPtr = None):
def translate_print_call(pool: rawptr[memhub.MemBuddy], builder: llvmlite.IRBuilder | t.CPtr, mod: rawptr[llvmlite.LLVMModule], cl: rawptr[ast.Call], trans: rawptr[HT.Translator] = None):
"""委托到 gen.translate_print_call(原 Handles 壳)"""
if _g_gen is not None:
_g_gen.CallGenLeafKit.translate_print_call(pool, builder, mod, cl, trans)
# ---------------- add_global_name(委托 TranslatorGenMixin.add_global_name) ----------------
def add_global_name(trans: HT.Translator | t.CPtr, name: str):
def add_global_name(trans: rawptr[HT.Translator], name: str):
"""委托到 gen.TranslatorGen.add_global_name(原 Handles 壳)"""
if _g_gen is not None:
_g_gen.TranslatorGen.add_global_name(trans, name)
# ---------------- is_global_name(委托 TranslatorGenMixin.is_global_name) ----------------
def is_global_name(trans: HT.Translator | t.CPtr, name: str) -> int:
def is_global_name(trans: rawptr[HT.Translator], name: str) -> int:
"""委托到 gen.TranslatorGen.is_global_name(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.TranslatorGen.is_global_name(trans, name)
@@ -601,16 +601,16 @@ def is_global_name(trans: HT.Translator | t.CPtr, name: str) -> int:
# ---------------- add_nonlocal_name(委托 TranslatorGenMixin.add_nonlocal_name) ----------------
def add_nonlocal_name(trans: HT.Translator | t.CPtr, name: str,
var_ty: llvmlite.LLVMType | t.CPtr = None):
def add_nonlocal_name(trans: rawptr[HT.Translator], name: str,
var_ty: rawptr[llvmlite.LLVMType] = None):
"""委托到 gen.TranslatorGen.add_nonlocal_name(原 Handles 壳)"""
if _g_gen is not None:
_g_gen.TranslatorGen.add_nonlocal_name(trans, name, var_ty)
# ---------------- get_nonlocal_type(委托 TranslatorGenMixin.get_nonlocal_type) ----------------
def get_nonlocal_type(trans: HT.Translator | t.CPtr,
name: str) -> llvmlite.LLVMType | t.CPtr:
def get_nonlocal_type(trans: rawptr[HT.Translator],
name: str) -> rawptr[llvmlite.LLVMType]:
"""委托到 gen.TranslatorGen.get_nonlocal_type(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.TranslatorGen.get_nonlocal_type(trans, name)
@@ -618,7 +618,7 @@ def get_nonlocal_type(trans: HT.Translator | t.CPtr,
# ---------------- is_nonlocal_name(委托 TranslatorGenMixin.is_nonlocal_name) ----------------
def is_nonlocal_name(trans: HT.Translator | t.CPtr, name: str) -> int:
def is_nonlocal_name(trans: rawptr[HT.Translator], name: str) -> int:
"""委托到 gen.TranslatorGen.is_nonlocal_name(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.TranslatorGen.is_nonlocal_name(trans, name)
@@ -626,7 +626,7 @@ def is_nonlocal_name(trans: HT.Translator | t.CPtr, name: str) -> int:
# ---------------- get_nonlocal_index(委托 TranslatorGenMixin.get_nonlocal_index) ----------------
def get_nonlocal_index(trans: HT.Translator | t.CPtr, name: str) -> int:
def get_nonlocal_index(trans: rawptr[HT.Translator], name: str) -> int:
"""委托到 gen.TranslatorGen.get_nonlocal_index(原 Handles 壳)"""
if _g_gen is not None:
return _g_gen.TranslatorGen.get_nonlocal_index(trans, name)
@@ -634,7 +634,7 @@ def get_nonlocal_index(trans: HT.Translator | t.CPtr, name: str) -> int:
# ---------------- clear_scope_names(委托 TranslatorGenMixin.clear_scope_names) ----------------
def clear_scope_names(trans: HT.Translator | t.CPtr):
def clear_scope_names(trans: rawptr[HT.Translator]):
"""委托到 gen.TranslatorGen.clear_scope_names(原 Handles 壳)"""
if _g_gen is not None:
_g_gen.TranslatorGen.clear_scope_names(trans)
@@ -642,7 +642,7 @@ def clear_scope_names(trans: HT.Translator | t.CPtr):
# ---------------- update_global_func_spec(委托 CallGenLeafKit.update_global_func_spec) ----------------
def update_global_func_spec(name: str,
func: llvmlite.Function | t.CPtr) -> int:
func: rawptr[llvmlite.Function]) -> int:
"""委托到 gen.CallGenLeafKit.update_global_func_spec(原 ExprCallTable 壳)"""
if _g_gen is not None:
return _g_gen.CallGenLeafKit.update_global_func_spec(name, func)