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

Method tailcall

python/mediumlevelil.py:4511–4535  ·  view source on GitHub ↗

``tailcall`` returns an expression which tailcalls the function in the expression ``dest`` with the parameters defined in ``params`` returning values in the variables in ``output``. :param List['variable.Variable'] output: output variables :param ExpressionIndex dest: the expression to cal

(
		self, output: List['variable.Variable'], dest: ExpressionIndex, params: List[ExpressionIndex],
		loc: Optional['ILSourceLocation'] = None
	)

Source from the content-addressed store, hash-verified

4509 )
4510
4511 def tailcall(
4512 self, output: List['variable.Variable'], dest: ExpressionIndex, params: List[ExpressionIndex],
4513 loc: Optional['ILSourceLocation'] = None
4514 ) -> ExpressionIndex:
4515 """
4516 ``tailcall`` returns an expression which tailcalls the function in the expression ``dest``
4517 with the parameters defined in ``params`` returning values in the variables in ``output``.
4518
4519 :param List['variable.Variable'] output: output variables
4520 :param ExpressionIndex dest: the expression to call
4521 :param List[ExpressionIndex] params: parameter variables
4522 :param ILSourceLocation loc: location of returned expression
4523 :return: The expression ``output = tailcall(dest, params...)``
4524 :rtype: ExpressionIndex
4525 """
4526 return self.expr(
4527 MediumLevelILOperation.MLIL_TAILCALL,
4528 len(output),
4529 self.add_variable_list(output),
4530 dest,
4531 len(params),
4532 self.add_operand_list(params),
4533 size=0,
4534 source_location=loc
4535 )
4536
4537 def tailcall_untyped(
4538 self, output: List['variable.Variable'], dest: ExpressionIndex, params: List[ExpressionIndex],

Callers

nothing calls this directly

Calls 3

exprMethod · 0.95
add_variable_listMethod · 0.95
add_operand_listMethod · 0.95

Tested by

no test coverage detected