From 1107abf9d0dc949928e573aadf11dac24133390a Mon Sep 17 00:00:00 2001 From: Peter LaFosse Date: Fri, 4 Mar 2022 14:53:33 -0500 Subject: Add a few optimizations to the python API for querying platform --- python/binaryview.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'python/binaryview.py') 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: -- cgit v1.3.1