MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / if_expr

Method if_expr

python/lowlevelil.py:5837–5855  ·  view source on GitHub ↗

``if_expr`` returns the ``if`` expression which depending on condition ``operand`` jumps to the LowLevelILLabel ``t`` when the condition expression ``operand`` is non-zero and ``f`` when it's zero. :param ExpressionIndex operand: comparison expression to evaluate. :param LowLevelILLabel t:

(
	    self, operand: ExpressionIndex, t: LowLevelILLabel, f: LowLevelILLabel,
	    loc: Optional['ILSourceLocation'] = None
	)

Source from the content-addressed store, hash-verified

5835 return ExpressionIndex(core.BNLowLevelILGoto(self.handle, label.handle))
5836
5837 def if_expr(
5838 self, operand: ExpressionIndex, t: LowLevelILLabel, f: LowLevelILLabel,
5839 loc: Optional['ILSourceLocation'] = None
5840 ) -> ExpressionIndex:
5841 """
5842 ``if_expr`` returns the ``if`` expression which depending on condition ``operand`` jumps to the LowLevelILLabel
5843 ``t`` when the condition expression ``operand`` is non-zero and ``f`` when it's zero.
5844
5845 :param ExpressionIndex operand: comparison expression to evaluate.
5846 :param LowLevelILLabel t: Label for the true branch
5847 :param LowLevelILLabel f: Label for the false branch
5848 :param ILSourceLocation loc: location of returned expression
5849 :return: the ExpressionIndex for the if expression
5850 :rtype: ExpressionIndex
5851 """
5852 if loc is not None:
5853 return ExpressionIndex(core.BNLowLevelILIfWithLocation(self.handle, operand, t.handle, f.handle, loc.address, loc.source_operand))
5854 else:
5855 return ExpressionIndex(core.BNLowLevelILIf(self.handle, operand, t.handle, f.handle))
5856
5857 def mark_label(self, label: LowLevelILLabel) -> None:
5858 """

Callers 2

copy_expr_toMethod · 0.45
cond_branchMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected