summaryrefslogtreecommitdiff
path: root/python/datarender.py
diff options
context:
space:
mode:
authorJosh Ferrell <josh@vector35.com>2025-11-19 12:40:29 -0500
committerJosh Ferrell <josh@vector35.com>2025-11-19 15:05:16 -0500
commitdae5a014ccbfe5a99379163b49e426eeb0b9e766 (patch)
tree7e6d66c5dec8620f7299ed3e0e6c756875e871b1 /python/datarender.py
parentd4a7ed9b8fce07ce7206d4ab48b0b333ae69d47a (diff)
Improve python api type hints
Diffstat (limited to 'python/datarender.py')
-rw-r--r--python/datarender.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/python/datarender.py b/python/datarender.py
index d516f26e..152477ae 100644
--- a/python/datarender.py
+++ b/python/datarender.py
@@ -20,6 +20,7 @@
import traceback
import ctypes
+from typing import List, Optional
import binaryninja
from . import _binaryninjacore as core
@@ -34,7 +35,7 @@ from . import types
class TypeContext:
- def __init__(self, _type, _offset):
+ def __init__(self, _type: types.Type, _offset: int):
self._type = _type
self._offset = _offset
@@ -85,7 +86,7 @@ class DataRenderer:
"""
_registered_renderers = []
- def __init__(self, context=None):
+ def __init__(self, context: Optional[TypeContext] = None):
self._cb = core.BNCustomDataRenderer()
self._cb.context = context
self._cb.freeObject = self._cb.freeObject.__class__(self._free_object)
@@ -137,7 +138,7 @@ class DataRenderer:
type = types.Type.create(handle=core.BNNewTypeReference(type))
prefixTokens = function.InstructionTextToken._from_core_struct(prefix, prefixCount)
- pycontext = []
+ pycontext: List[TypeContext] = []
for i in range(ctxCount):
pycontext.append(
TypeContext(types.Type.create(core.BNNewTypeReference(typeCtx[i].type)), typeCtx[i].offset)
@@ -184,13 +185,13 @@ class DataRenderer:
def perform_free_object(self, ctxt):
pass
- def perform_is_valid_for_data(self, ctxt, view, addr, type, context):
+ def perform_is_valid_for_data(self, ctxt, view: binaryview.BinaryView, addr: int, type: types.Type, context: List[TypeContext]) -> bool:
return False
- def perform_get_lines_for_data(self, ctxt, view, addr, type, prefix, width, context):
+ def perform_get_lines_for_data(self, ctxt, view: binaryview.BinaryView, addr: int, type: types.Type, prefix: List[function.InstructionTextToken], width: int, context: List[TypeContext]) -> List['function.DisassemblyTextLine']:
return []
- def perform_get_lines_for_data_with_language(self, ctxt, view, addr, type, prefix, width, context, language):
+ def perform_get_lines_for_data_with_language(self, ctxt, view: binaryview.BinaryView, addr: int, type: types.Type, prefix: List[function.InstructionTextToken], width: int, context: List[TypeContext], language: str) -> List['function.DisassemblyTextLine']:
return self.perform_get_lines_for_data(ctxt, view, addr, type, prefix, width, context)
def __del__(self):