diff options
| author | Peter LaFosse <peter@vector35.com> | 2021-07-07 08:26:29 -0400 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2021-09-05 10:09:09 -0400 |
| commit | 764063b2b44dbeba5f2f318c971e4f4acfb48427 (patch) | |
| tree | e014fe6a859b97a653cef80dc9db66a06c706c37 /python/datarender.py | |
| parent | d376db916f5fc83f9e654edf23364d200839ac50 (diff) | |
Refactor Python Types
Remove _mutable types
Diffstat (limited to 'python/datarender.py')
| -rw-r--r-- | python/datarender.py | 12 |
1 files changed, 6 insertions, 6 deletions
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) |
