@@ -91,8 +91,8 @@ def generate_cstruct_stub(cs: cstruct, module_prefix: str = "", cls_name: str =
9191 stub = f"{ name } : TypeAlias = { type_ .__name__ } "
9292 elif issubclass (type_ , (types .Enum , types .Flag )):
9393 stub = generate_enum_stub (type_ , cs_prefix = cs_prefix , module_prefix = module_prefix )
94- elif issubclass (typedef , types .Pointer ):
95- typehint = generate_typehint (typedef , prefix = cs_prefix , module_prefix = module_prefix )
94+ elif issubclass (type_ , types .Pointer ):
95+ typehint = generate_typehint (type_ , prefix = cs_prefix , module_prefix = module_prefix )
9696 stub = f"{ name } : TypeAlias = { typehint } "
9797 elif issubclass (type_ , types .Structure ):
9898 stub = generate_structure_stub (type_ , cs_prefix = cs_prefix , module_prefix = module_prefix )
@@ -167,9 +167,10 @@ def generate_structure_stub(
167167 module_prefix : str = "" ,
168168) -> str :
169169 result = [f"class { name_prefix } { structure .__name__ } ({ module_prefix } { structure .__base__ .__name__ } ):" ]
170-
171170 indent = " " * 4
172171
172+ all_types = structure .cs .typedefs | structure .cs .types
173+
173174 args = ["self" ]
174175 for field_name , field in structure .fields .items ():
175176 type_name = field .type .__name__
@@ -180,7 +181,7 @@ def generate_structure_stub(
180181 while issubclass (nested_type , types .BaseArray ):
181182 nested_type = nested_type .type
182183
183- if issubclass (nested_type , types .Structure ) and type_name not in structure . cs . typedefs :
184+ if issubclass (nested_type , types .Structure ) and type_name not in all_types :
184185 inlined = True
185186 inline_stub = generate_structure_stub (nested_type , cs_prefix = cs_prefix , module_prefix = module_prefix )
186187
0 commit comments