fix(narrow): len() 结果赋给 int 的形参/默认值计数改用显式 int(...)

FuncGenDef 的 fd_param_count/fd_default_count/tfd_param_count/tfd_default_count 与 ClassGenVTable 的 md_param_count/md_default_count 原本直接接收 len()(sizet),触发隐式窄化;改 int(len(...)) 保持原有截断语义
This commit is contained in:
TermiNexus committed 2026-10-11 09:34:43 +08:00
1 parent d023e9932d
commit 82ad5da7c7
2 files changed
+7 -7

No files matched your search

+3 -3
View File
@@ -536,12 +536,12 @@ novirtual class ClassGenVTable(ClassGenBase.ClassGenBase):
md_ags: ast.Arguments* = ast.Arguments*(md_args_node)
if md_ags.args is not None:
md_alist: list[ast.AST*]* = md_ags.args
if is_static_m != 0: md_param_count = len(md_alist)
else: md_param_count = len(md_alist) - 1
if is_static_m != 0: md_param_count = int(len(md_alist))
else: md_param_count = int(len(md_alist)) - 1
if md_ags.defaults is not None:
md_dlist: list[ast.AST*]* = md_ags.defaults
md_defaults = md_dlist
md_default_count = len(md_dlist)
md_default_count = int(len(md_dlist))
# Register in the function table (lookup name ClassName.method_name, suffix matching).
max_funcs: int = 1024
+4 -4
View File
@@ -180,11 +180,11 @@ novirtual class FuncGenDef(CallGenBase.CallGenBase):
fd_ags: ast.Arguments* = ast.Arguments*(fd_args_node)
if fd_ags.args is not None:
fd_alist: list[ast.AST*]* = fd_ags.args
fd_param_count = len(fd_alist)
fd_param_count = int(len(fd_alist))
if fd_ags.defaults is not None:
fd_dlist: list[ast.AST*]* = fd_ags.defaults
fd_defaults = fd_dlist
fd_default_count = len(fd_dlist)
fd_default_count = int(len(fd_dlist))
# Register in the function table (using bare fd.name, not mangled_name)
max_funcs: int = 1024
@@ -490,11 +490,11 @@ novirtual class FuncGenDef(CallGenBase.CallGenBase):
tfd_ags: ast.Arguments* = ast.Arguments*(args_node)
if tfd_ags.args is not None:
tfd_alist: list[ast.AST*]* = tfd_ags.args
tfd_param_count = len(tfd_alist)
tfd_param_count = int(len(tfd_alist))
if tfd_ags.defaults is not None:
tfd_dlist: list[ast.AST*]* = tfd_ags.defaults
tfd_defaults = tfd_dlist
tfd_default_count = len(tfd_dlist)
tfd_default_count = int(len(tfd_dlist))
# Register in the function table
max_funcs: int = 1024