(self, source: int, destination: int, visited: Optional[Set[Any]]=None)
Check the existence of a path in the slice between two given node adresses.

        :param source: The source address.
        :param destination: The destination address.
        :param visited: Used to avoid infinite recursion if loops are present in the slice.

        :return:
            True if there is a path between the source and the destination in the CFG, False if not,
            or if we have been unable to decide (because of loops).
Check the existence of a path in the slice between two given node adresses.
Check the existence of a path in the slice between two given node adresses .
def path_between(self, source: int, destination: int, visited: Optional[Set[Any]]=None) -> bool:
        """
        Check the existence of a path in the slice between two given node adresses.

        :param source: The source address.
        :param destination: The destination address.
        :param visited: Used to avoid infinite recursion if loops are present in the slice.

        :return:
            True if there is a path between the source and the destination in the CFG, False if not,
            or if we have been unable to decide (because of loops).
        """
        _visited = set() if visited is None else visited

        if source not in self._transitions or source in _visited:
            return False
        _visited.add(source)

        direct_successors = self._transitions[source]

        if destination in direct_successors:
            return True
        else:
            return any(map(
                lambda s: self.path_between(s, destination, _visited),
                direct_successors
            ))
def path_between ( self , source : int , destination : int , visited : Optional [ Set [ Any ] ] = None ) -> bool : _visited = set ( ) if visited is None else visited if source not in self . _transitions or source in _visited : return False _visited . add ( source ) direct_successors = self . _transitions [ source ] if destination in direct_successors : return True else : return any ( map ( lambda s : self . path_between ( s , destination , _visited ) , direct_successors ) )