refactor(gen): P5 对象化迁移完成 - FuncGenMixin/ClassGenMixin 全量迁移+委托层; 泛型模板表迁入 gen 字段; stub 方法 ParamCount 不含 self(修复跨模块方法调用默认参数填充错位); 默认参数快照失败 fail-fast(防悬空 AST UAF); HandlesMatch 改委托 gen._lookup_renum_variant

This commit is contained in:
TermiNexus committed 2026-08-10 06:24:50 +08:00
1 parent 0e4f00baf4
commit ba3f22702e
10 files changed
+5413 -4504

No files matched your search

+4 -10
View File
@@ -172,20 +172,14 @@ class MatchHandle(HandlesBase.Mixin):
# ============================================================
# _find_renum_class_for_variant - 从变体名反查 REnum 类名
#
# P5-2 后 REnum 变体表迁入 gen 字段(RenumClassNames/RenumClassCount),
# 模块级 _renum_class_* 已失效,统一委托到 gen._lookup_renum_variant。
# ============================================================
def _find_renum_class_for_variant(self, variant_name: str) -> str:
if variant_name is None:
return None
i: int = 0
while i < HandlesClassDef._renum_class_count:
cls_nm: str = HandlesClassDef._renum_class_names[i]
if cls_nm is not None:
tag: int = HandlesClassDef._lookup_renum_variant_in_class(
cls_nm, variant_name)
if tag >= 0:
return cls_nm
i = i + 1
return None
return HandlesClassDef._lookup_renum_variant(variant_name)
# ============================================================
# _has_no_break - 检测 case body 是否含 c.NoBreak() 调用