'Add an edge onto the graph.
:param BlockID src_block_id: The block ID for source node.
:param BlockID dst_block_id: The block Id for destination node.
:param str jumpkind:         The jumpkind of the edge.
:param exit_stmt_idx:        ID of the statement in the source IRSB where this edge is created from. \'default\'
refers to the default exit.
:return: None'

def _graph_add_edge(self, src_block_id, dst_block_id, **kwargs):

    dst_node = self._graph_get_node(dst_block_id, terminator_for_nonexistent_node=True)
    if (src_block_id is None):
        self.graph.add_node(dst_node)
    else:
        src_node = self._graph_get_node(src_block_id, terminator_for_nonexistent_node=True)
        self.graph.add_edge(src_node, dst_node, **kwargs)
