(self, addr, src_node, function_addr, syscall=False, stmt_idx=None, ins_addr=None)
Add a call edge to the function transition map.

        :param int addr: Address that is being called (callee).
        :param CFGNode src_node: The source CFG node (caller).
        :param int ret_addr: Address that returns to (in case the function returns).
        :param int function_addr: Function address..
        :param bool syscall: If this is a call to a syscall or not.
        :param int or str stmt_idx: Statement ID of this call.
        :param int or None ins_addr: Instruction address of this call.
        :return: True if the edge is added. False if any exception occurred.
        :rtype: bool
Add a call edge to the function transition map.
Add a call edge to the function transition map .
def _function_add_call_edge(self, addr, src_node, function_addr, syscall=False, stmt_idx=None, ins_addr=None):
        """
        Add a call edge to the function transition map.

        :param int addr: Address that is being called (callee).
        :param CFGNode src_node: The source CFG node (caller).
        :param int ret_addr: Address that returns to (in case the function returns).
        :param int function_addr: Function address..
        :param bool syscall: If this is a call to a syscall or not.
        :param int or str stmt_idx: Statement ID of this call.
        :param int or None ins_addr: Instruction address of this call.
        :return: True if the edge is added. False if any exception occurred.
        :rtype: bool
        """
        try:
            if src_node is None:
                self.kb.functions._add_node(function_addr, addr, syscall=syscall)
            else:
                src_snippet = self._to_snippet(cfg_node=src_node)

                return_to_outside = False

                ret_snippet = None

                self.kb.functions._add_call_to(function_addr, src_snippet, addr, ret_snippet, syscall=syscall,
                                               stmt_idx=stmt_idx, ins_addr=ins_addr,
                                               return_to_outside=return_to_outside,
                                               )
            return True
        except (SimMemoryError, SimEngineError):
            return False
def _function_add_call_edge ( self , addr , src_node , function_addr , syscall = False , stmt_idx = None , ins_addr = None ) : try : if src_node is None : self . kb . functions . _add_node ( function_addr , addr , syscall = syscall ) else : src_snippet = self . _to_snippet ( cfg_node = src_node ) return_to_outside = False ret_snippet = None self . kb . functions . _add_call_to ( function_addr , src_snippet , addr , ret_snippet , syscall = syscall , stmt_idx = stmt_idx , ins_addr = ins_addr , return_to_outside = return_to_outside , ) return True except ( SimMemoryError , SimEngineError ) : return False