From 70062bee46b3e6449ffefe1fa033464969d3c185 Mon Sep 17 00:00:00 2001 From: Peter LaFosse Date: Wed, 13 Dec 2023 09:04:05 -0500 Subject: Fix TypeContainer's instantiation of Type objects --- python/typecontainer.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'python/typecontainer.py') diff --git a/python/typecontainer.py b/python/typecontainer.py index b25a69f7..d8b5562c 100644 --- a/python/typecontainer.py +++ b/python/typecontainer.py @@ -198,7 +198,7 @@ class TypeContainer: result = ctypes.POINTER(core.BNType)() if not core.BNTypeContainerGetTypeById(self.handle, type_id, result): return None - return ty_.Type(handle=result) + return ty_.Type.create(handle=result) @property def types(self) -> Optional[Mapping[str, Tuple['ty_.QualifiedName', 'ty_.Type']]]: @@ -218,7 +218,9 @@ class TypeContainer: for i in range(result_count.value): name = ty_.QualifiedName._from_core_struct(result_names[i]) id = core.pyNativeStr(result_ids[i]) - type = ty_.Type(handle=core.BNNewTypeReference(result_types[i])) + ref_handle = core.BNNewTypeReference(result_types[i]) + assert ref_handle is not None + type = ty_.Type.create(handle=ref_handle) result[id] = (name, type) core.BNFreeTypeNameList(result_names, result_count.value) @@ -236,7 +238,7 @@ class TypeContainer: result = ctypes.POINTER(core.BNType)() if not core.BNTypeContainerGetTypeByName(self.handle, ty_.QualifiedName(type_name)._to_core_struct(), result): return None - return ty_.Type(handle=result) + return ty_.Type.create(handle=result) @property def type_ids(self) -> Optional[List[str]]: -- cgit v1.3.1