From 764063b2b44dbeba5f2f318c971e4f4acfb48427 Mon Sep 17 00:00:00 2001 From: Peter LaFosse Date: Wed, 7 Jul 2021 08:26:29 -0400 Subject: Refactor Python Types Remove _mutable types --- python/datarender.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'python/datarender.py') diff --git a/python/datarender.py b/python/datarender.py index c44e444f..6a9982e9 100644 --- a/python/datarender.py +++ b/python/datarender.py @@ -31,6 +31,7 @@ from . import enums from . import log from . import types from . import highlight +from . import types class TypeContext: @@ -95,8 +96,7 @@ class DataRenderer: @staticmethod def is_type_of_struct_name(t, name, context): return (t.type_class == enums.TypeClass.StructureTypeClass and len(context) > 0 - and context[-1].type.type_class == enums.TypeClass.NamedTypeReferenceClass and - context[-1].type.named_type_reference.name == name) + and isinstance(context[-1].type, types.NamedTypeReferenceType) and context[-1].type.name == name) def register_type_specific(self): core.BNRegisterTypeSpecificDataRenderer(core.BNGetDataRendererContainer(), self.handle) @@ -116,10 +116,10 @@ class DataRenderer: try: file_metadata = filemetadata.FileMetadata(handle=core.BNGetFileForView(view)) view = binaryview.BinaryView(file_metadata=file_metadata, handle=core.BNNewViewReference(view)) - type = types.Type(handle=core.BNNewTypeReference(type)) + type = types.Type.create(handle=core.BNNewTypeReference(type)) pycontext = [] for i in range(0, ctxCount): - pycontext.append(TypeContext(types.Type(core.BNNewTypeReference(context[i].type)), context[i].offset)) + pycontext.append(TypeContext(types.Type.create(core.BNNewTypeReference(context[i].type)), context[i].offset)) return self.perform_is_valid_for_data(ctxt, view, addr, type, pycontext) except: log.log_error(traceback.format_exc()) @@ -129,12 +129,12 @@ class DataRenderer: try: file_metadata = filemetadata.FileMetadata(handle=core.BNGetFileForView(view)) view = binaryview.BinaryView(file_metadata=file_metadata, handle=core.BNNewViewReference(view)) - type = types.Type(handle=core.BNNewTypeReference(type)) + type = types.Type.create(handle=core.BNNewTypeReference(type)) prefixTokens = function.InstructionTextToken._from_core_struct(prefix, prefixCount) pycontext = [] for i in range(ctxCount): - pycontext.append(TypeContext(types.Type(core.BNNewTypeReference(typeCtx[i].type)), typeCtx[i].offset)) + pycontext.append(TypeContext(types.Type.create(core.BNNewTypeReference(typeCtx[i].type)), typeCtx[i].offset)) result = self.perform_get_lines_for_data(ctxt, view, addr, type, prefixTokens, width, pycontext) -- cgit v1.3.1