fix(handles): HandlesClassDef 6 个 _is_* 委托补 trans 参数
ClassGenDef 调用 _is_enum_class/_is_union_class/_is_renum_class(cd, trans) 传 2 参,但委托定义只有 1 参(cd)→ TPC 报 '传入了 2 个参数,但函数 只需要 1 个参数'。统一补齐 _is_cenum_base/_is_enum_class/_is_cunion_base/ _is_union_class/_is_crenum_base/_is_renum_class 的 trans 默认参数并透传。
This commit is contained in:
1 parent
54fa8b46c8
commit
50db55fd08
1 file changed
+18
-12
@@ -64,24 +64,26 @@ RENUM_FIELD_PER_VARIANT: t.CDefine = 16
|
||||
#
|
||||
# 支持 Name(id='CEnum') 和 Attribute(value=Name('t'), attr='CEnum')
|
||||
# ============================================================
|
||||
def _is_cenum_base(base_node: ast.AST | t.CPtr) -> int:
|
||||
def _is_cenum_base(base_node: ast.AST | t.CPtr,
|
||||
trans: HT.Translator | t.CPtr = None) -> int:
|
||||
"""检查 base 节点是否为 t.CEnum,返回 1=是 / 0=否(委托到 gen._is_cenum_base)"""
|
||||
import lib.core.Gen.Generator as Generator
|
||||
g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr))
|
||||
if g is not None:
|
||||
return g._is_cenum_base(base_node)
|
||||
return g._is_cenum_base(base_node, trans)
|
||||
return 0
|
||||
|
||||
|
||||
# ============================================================
|
||||
# _is_enum_class — 检查 ClassDef 是否继承自 t.CEnum
|
||||
# ============================================================
|
||||
def _is_enum_class(cd: ast.ClassDef | t.CPtr) -> int:
|
||||
def _is_enum_class(cd: ast.ClassDef | t.CPtr,
|
||||
trans: HT.Translator | t.CPtr = None) -> int:
|
||||
"""检查 ClassDef 是否继承自 t.CEnum,返回 1=是 / 0=否(委托到 gen._is_enum_class)"""
|
||||
import lib.core.Gen.Generator as Generator
|
||||
g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr))
|
||||
if g is not None:
|
||||
return g._is_enum_class(cd)
|
||||
return g._is_enum_class(cd, trans)
|
||||
return 0
|
||||
|
||||
|
||||
@@ -90,24 +92,26 @@ def _is_enum_class(cd: ast.ClassDef | t.CPtr) -> int:
|
||||
#
|
||||
# 支持 Name(id='CUnion') 和 Attribute(value=Name('t'), attr='CUnion')
|
||||
# ============================================================
|
||||
def _is_cunion_base(base_node: ast.AST | t.CPtr) -> int:
|
||||
def _is_cunion_base(base_node: ast.AST | t.CPtr,
|
||||
trans: HT.Translator | t.CPtr = None) -> int:
|
||||
"""检查 base 节点是否为 t.CUnion,返回 1=是 / 0=否(委托到 gen._is_cunion_base)"""
|
||||
import lib.core.Gen.Generator as Generator
|
||||
g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr))
|
||||
if g is not None:
|
||||
return g._is_cunion_base(base_node)
|
||||
return g._is_cunion_base(base_node, trans)
|
||||
return 0
|
||||
|
||||
|
||||
# ============================================================
|
||||
# _is_union_class — 检查 ClassDef 是否继承自 t.CUnion
|
||||
# ============================================================
|
||||
def _is_union_class(cd: ast.ClassDef | t.CPtr) -> int:
|
||||
def _is_union_class(cd: ast.ClassDef | t.CPtr,
|
||||
trans: HT.Translator | t.CPtr = None) -> int:
|
||||
"""检查 ClassDef 是否继承自 t.CUnion,返回 1=是 / 0=否(委托到 gen._is_union_class)"""
|
||||
import lib.core.Gen.Generator as Generator
|
||||
g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr))
|
||||
if g is not None:
|
||||
return g._is_union_class(cd)
|
||||
return g._is_union_class(cd, trans)
|
||||
return 0
|
||||
|
||||
|
||||
@@ -116,24 +120,26 @@ def _is_union_class(cd: ast.ClassDef | t.CPtr) -> int:
|
||||
#
|
||||
# 支持 Name(id='REnum') 和 Attribute(value=Name('t'), attr='REnum')
|
||||
# ============================================================
|
||||
def _is_crenum_base(base_node: ast.AST | t.CPtr) -> int:
|
||||
def _is_crenum_base(base_node: ast.AST | t.CPtr,
|
||||
trans: HT.Translator | t.CPtr = None) -> int:
|
||||
"""检查 base 节点是否为 t.REnum,返回 1=是 / 0=否(委托到 gen._is_crenum_base)"""
|
||||
import lib.core.Gen.Generator as Generator
|
||||
g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr))
|
||||
if g is not None:
|
||||
return g._is_crenum_base(base_node)
|
||||
return g._is_crenum_base(base_node, trans)
|
||||
return 0
|
||||
|
||||
|
||||
# ============================================================
|
||||
# _is_renum_class — 检查 ClassDef 是否继承自 t.REnum
|
||||
# ============================================================
|
||||
def _is_renum_class(cd: ast.ClassDef | t.CPtr) -> int:
|
||||
def _is_renum_class(cd: ast.ClassDef | t.CPtr,
|
||||
trans: HT.Translator | t.CPtr = None) -> int:
|
||||
"""检查 ClassDef 是否继承自 t.REnum,返回 1=是 / 0=否(委托到 gen._is_renum_class)"""
|
||||
import lib.core.Gen.Generator as Generator
|
||||
g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr))
|
||||
if g is not None:
|
||||
return g._is_renum_class(cd)
|
||||
return g._is_renum_class(cd, trans)
|
||||
return 0
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user