'Registers an edge between basic blocks in this function\'s transition graph.
Arguments are CodeNode objects.
:param from_node            The address of the basic block that control
flow leaves during this transition.
:param to_node              The address of the basic block that control
flow enters during this transition.
:param bool outside:        If this is a transition to another function, e.g. tail call optimization
:return: None'

def _transit_to(self, from_node, to_node, outside=False, ins_addr=None, stmt_idx=None):

    if outside:
        self._register_nodes(True, from_node)
        self._register_nodes(False, to_node)
        self._jumpout_sites.add(from_node)
    else:
        self._register_nodes(True, from_node, to_node)
    self.transition_graph.add_edge(from_node, to_node, type='transition', outside=outside, ins_addr=ins_addr, stmt_idx=stmt_idx)
    if outside:
        self._add_endpoint(from_node, 'transition')
    self._local_transition_graph = None
