summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2021-10-11 09:27:44 -0400
committerPeter LaFosse <peter@vector35.com>2021-10-11 14:59:24 -0400
commit259ef273531f53ee73fe53ea8b147fe59326a31b (patch)
tree222171b5c373b3e333fee5f49eacf71090758b36
parent505361f21eab244a2921ea1af894c212b3875b86 (diff)
Revert 'mlils' back to list instead of Generator
-rw-r--r--python/function.py4
-rw-r--r--python/highlevelil.py11
2 files changed, 10 insertions, 5 deletions
diff --git a/python/function.py b/python/function.py
index a43fe89d..6cefd682 100644
--- a/python/function.py
+++ b/python/function.py
@@ -65,7 +65,7 @@ ILFunctionType = Union['lowlevelil.LowLevelILFunction', 'mediumlevelil.MediumLev
'highlevelil.HighLevelILFunction']
ILInstructionType = Union['lowlevelil.LowLevelILInstruction', 'mediumlevelil.MediumLevelILInstruction',
'highlevelil.HighLevelILInstruction']
-StringOrType = Union[str, '_types.Type', '_types.TypeBuilder']
+StringOrType = Union[str, 'types.Type', 'types.TypeBuilder']
def _function_name_():
return inspect.stack()[1][0].f_code.co_name
@@ -909,7 +909,7 @@ class Function:
return types.Type.create(core.BNNewTypeReference(result.type), platform = self.platform, confidence = result.confidence)
@return_type.setter
- def return_type(self, value:StringOrType) -> None:
+ def return_type(self, value:StringOrType) -> None: # type: ignore
type_conf = core.BNTypeWithConfidence()
if value is None:
type_conf.type = None
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)