From 65c1ab279b34f11070a450de993886df9c7353ec Mon Sep 17 00:00:00 2001 From: Peter LaFosse Date: Thu, 20 Jan 2022 13:16:29 -0500 Subject: Add support for mmlil_if_available --- python/function.py | 13 +++++++++++++ python/mediumlevelil.py | 1 + 2 files changed, 14 insertions(+) (limited to 'python') diff --git a/python/function.py b/python/function.py index 8bfd2405..e328fd04 100644 --- a/python/function.py +++ b/python/function.py @@ -877,6 +877,19 @@ class Function: return None return mediumlevelil.MediumLevelILFunction(self.arch, result, self) + @property + def mmlil(self) -> 'mediumlevelil.MediumLevelILFunction': + """Function mapped medium level IL (read-only)""" + return mediumlevelil.MediumLevelILFunction(self.arch, core.BNGetFunctionMappedMediumLevelIL(self.handle), self) + + @property + def mmlil_if_available(self) -> Optional['mediumlevelil.MediumLevelILFunction']: + """Function mapped medium level IL, or None if not loaded (read-only)""" + result = core.BNGetFunctionMappedMediumLevelILIfAvailable(self.handle) + if not result: + return None + return mediumlevelil.MediumLevelILFunction(self.arch, result, self) + @property def high_level_il(self) -> 'highlevelil.HighLevelILFunction': """Function high level IL (read-only)""" diff --git a/python/mediumlevelil.py b/python/mediumlevelil.py index 1a710c85..d7903fb2 100644 --- a/python/mediumlevelil.py +++ b/python/mediumlevelil.py @@ -18,6 +18,7 @@ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # IN THE SOFTWARE. +from abc import abstractmethod import ctypes import struct from typing import Optional, List, Union, Mapping, Generator, NewType, Tuple, ClassVar -- cgit v1.3.1