summaryrefslogtreecommitdiff
path: root/python/highlevelil.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/highlevelil.py')
-rw-r--r--python/highlevelil.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/python/highlevelil.py b/python/highlevelil.py
index 21e392ca..881b3477 100644
--- a/python/highlevelil.py
+++ b/python/highlevelil.py
@@ -472,14 +472,16 @@ class HighLevelILInstruction:
return self.medium_level_il
@property
- def mlils(self) -> Generator['mediumlevelil.MediumLevelILInstruction', None, None]:
+ def mlils(self) -> Optional[List['mediumlevelil.MediumLevelILInstruction']]:
+ result = []
for expr in self.function.get_medium_level_il_expr_indexes(self.expr_index):
mlil = self.function.medium_level_il
if mlil is None:
return
ssa_func = mlil.ssa_form
assert ssa_func is not None, "medium_level_il.ssa_form is None"
- yield mediumlevelil.MediumLevelILInstruction.create(ssa_func, expr)
+ result.append(mediumlevelil.MediumLevelILInstruction.create(ssa_func, expr))
+ return result
@property
def low_level_il(self) -> Optional['lowlevelil.LowLevelILInstruction']:
@@ -496,7 +498,10 @@ class HighLevelILInstruction:
@property
def llils(self) -> List['lowlevelil.ExpressionIndex']:
result = set()
- for mlil_expr in self.mlils:
+ mlils = self.mlils
+ if mlils is None:
+ return []
+ for mlil_expr in mlils:
for llil_expr in mlil_expr.llils:
result.add(llil_expr)
return list(result)