summaryrefslogtreecommitdiff
path: root/python/binaryview.py
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2022-03-04 14:53:33 -0500
committerPeter LaFosse <peter@vector35.com>2022-03-04 15:43:58 -0500
commit1107abf9d0dc949928e573aadf11dac24133390a (patch)
tree889e37ae778b9473397572ed5848623165af6260 /python/binaryview.py
parent19c48bcbd20f3247bb273829df6a13580bf06e2c (diff)
Add a few optimizations to the python API for querying platform
Diffstat (limited to 'python/binaryview.py')
-rw-r--r--python/binaryview.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/python/binaryview.py b/python/binaryview.py
index e94aff30..7a62aa57 100644
--- a/python/binaryview.py
+++ b/python/binaryview.py
@@ -1706,6 +1706,7 @@ class BinaryView:
self._notifications = {}
self._parse_only = False
self._preload_limit = 5
+ self._platform = None
def __enter__(self):
return self
@@ -2101,7 +2102,9 @@ class BinaryView:
plat = core.BNGetDefaultPlatform(self.handle)
if plat is None:
return None
- return _platform.Platform(self.arch, handle=plat)
+ if self._platform is None:
+ self._platform = _platform.Platform(self.arch, handle=plat)
+ return self._platform
@platform.setter
def platform(self, value: Optional['_platform.Platform']) -> None:
@@ -2109,6 +2112,7 @@ class BinaryView:
core.BNSetDefaultPlatform(self.handle, None)
else:
core.BNSetDefaultPlatform(self.handle, value.handle)
+ self._platform = None
@property
def endianness(self) -> Endianness: