Skip to content

Commit 7331610

Browse files
committed
Python: get_instruction_index_for_expr for all ILs
1 parent 7323550 commit 7331610

File tree

3 files changed

+21
-1
lines changed

3 files changed

+21
-1
lines changed

python/highlevelil.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4713,6 +4713,16 @@ def ssa_vars(self) -> List["mediumlevelil.SSAVariable"]:
47134713

47144714
return []
47154715

4716+
def get_instruction_index_for_expr(self, expr: ExpressionIndex) -> Optional[InstructionIndex]:
4717+
result = core.BNGetHighLevelILInstructionForExpr(self.handle, expr)
4718+
if result >= core.BNGetHighLevelILInstructionCount(self.handle):
4719+
return None
4720+
return InstructionIndex(result)
4721+
4722+
def get_expr_index_for_instruction(self, instr: InstructionIndex) -> ExpressionIndex:
4723+
result = core.BNGetHighLevelILIndexForInstruction(self.handle, instr)
4724+
return ExpressionIndex(result)
4725+
47164726
def get_medium_level_il_expr_index(self, expr: ExpressionIndex) -> Optional['mediumlevelil.ExpressionIndex']:
47174727
medium_il = self.medium_level_il
47184728
if medium_il is None:

python/lowlevelil.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6230,7 +6230,7 @@ def get_instruction_index_for_expr(self, expr: ExpressionIndex) -> Optional[Inst
62306230
return InstructionIndex(result)
62316231

62326232
def get_expr_index_for_instruction(self, instr: InstructionIndex) -> ExpressionIndex:
6233-
result = core.BNGetLowLevelILInstructionForExpr(self.handle, instr)
6233+
result = core.BNGetLowLevelILIndexForInstruction(self.handle, instr)
62346234
return ExpressionIndex(result)
62356235

62366236
def get_medium_level_il_instruction_index(self,

python/mediumlevelil.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5516,6 +5516,16 @@ def get_ssa_var_value(self, ssa_var: SSAVariable) -> 'variable.RegisterValue':
55165516
result = variable.RegisterValue.from_BNRegisterValue(value, self._arch)
55175517
return result
55185518

5519+
def get_instruction_index_for_expr(self, expr: ExpressionIndex) -> Optional[InstructionIndex]:
5520+
result = core.BNGetMediumLevelILInstructionForExpr(self.handle, expr)
5521+
if result >= core.BNGetMediumLevelILInstructionCount(self.handle):
5522+
return None
5523+
return InstructionIndex(result)
5524+
5525+
def get_expr_index_for_instruction(self, instr: InstructionIndex) -> ExpressionIndex:
5526+
result = core.BNGetMediumLevelILIndexForInstruction(self.handle, instr)
5527+
return ExpressionIndex(result)
5528+
55195529
def get_low_level_il_instruction_index(self, instr: InstructionIndex) -> Optional['lowlevelil.InstructionIndex']:
55205530
low_il = self.low_level_il
55215531
if low_il is None:

0 commit comments

Comments
 (0)