``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 )
| 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], |
nothing calls this directly
no test coverage detected