code: def _call_to(self, from_node, to_func, ret_node, stmt_idx=None, ins_addr=None, return_to_outside=False):
          
  
          self._register_nodes(True, from_node)
  
          if to_func.is_syscall:
              self.transition_graph.add_edge(from_node, to_func, type='syscall', stmt_idx=stmt_idx, ins_addr=ins_addr)
          else:
              self.transition_graph.add_edge(from_node, to_func, type='call', stmt_idx=stmt_idx, ins_addr=ins_addr)
              if ret_node is not None:
                  self._fakeret_to(from_node, ret_node, to_outside=return_to_outside)
  
          self._local_transition_graph = None
docs: Registers an edge between the caller basic block and callee function.
  
          :param from_addr:   The basic block that control flow leaves during the transition.
          :type  from_addr:   angr.knowledge.CodeNode
          :param to_func:     The function that we are calling
          :type  to_func:     Function
          :param ret_node     The basic block that control flow should return to after the
                              function call.
          :type  to_func:     angr.knowledge.CodeNode or None
          :param stmt_idx:    Statement ID of this call.
          :type  stmt_idx:    int, str or None
          :param ins_addr:    Instruction address of this call.
          :type  ins_addr:    int or None