From 3ccd563f68ab9b19edfe8e79d592e59645a44d36 Mon Sep 17 00:00:00 2001 From: Jordan Wiens Date: Tue, 3 Sep 2019 15:48:35 -0400 Subject: add a few missing len properties and __str__ for StringReference --- python/binaryview.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'python/binaryview.py') diff --git a/python/binaryview.py b/python/binaryview.py index c5d9c363..2732a8d7 100644 --- a/python/binaryview.py +++ b/python/binaryview.py @@ -43,6 +43,7 @@ from binaryninja import metadata from binaryninja import highlight from binaryninja import function from binaryninja import settings +from binaryninja import pyNativeStr # 2-3 compatibility from binaryninja import range @@ -118,6 +119,12 @@ class StringReference(object): def raw(self): return self._view.read(self._start, self._length) + def __str__(self): + return pyNativeStr(self.raw) + + def __len__(self): + return self._length + def __repr__(self): return "<%s: %#x, len %#x>" % (self._type, self._start, self._length) @@ -144,19 +151,11 @@ class StringReference(object): """ """ return self._length - @length.setter - def length(self, value): - self._length = value - @property def view(self): """ """ return self._view - @view.setter - def view(self, value): - self._view = value - _pending_analysis_completion_events = {} class AnalysisCompletionEvent(object): @@ -882,6 +881,9 @@ class AddressRange(object): self._start = start self._end = end + def __len__(self): + return self._end - self.start + @property def length(self): return self._end - self._start -- cgit v1.3.1