summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2023-12-13 09:04:05 -0500
committerPeter LaFosse <peter@vector35.com>2023-12-13 09:04:05 -0500
commit70062bee46b3e6449ffefe1fa033464969d3c185 (patch)
tree5fa4ebea5f91cb3f33c14119cf29c306ee173e44
parent2524623e88dfe020d70b1685218c97a3613453b9 (diff)
Fix TypeContainer's instantiation of Type objects
-rw-r--r--python/typecontainer.py8
1 files changed, 5 insertions, 3 deletions
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]]: