(self, noreturns)
Update the callsites of functions (remove return targets) that are calling functions that are just deemed not
        returning.

        :param iterable func_addrs: A collection of functions for newly-recovered non-returning functions.
        :return:                    None
Update the callsites of functions (remove return targets) that are calling functions that are just deemed not
        returning.
Update the callsites of functions ( remove return targets ) that are calling functions that are just deemed not returning .
def _update_function_callsites(self, noreturns):
        """
        Update the callsites of functions (remove return targets) that are calling functions that are just deemed not
        returning.

        :param iterable func_addrs: A collection of functions for newly-recovered non-returning functions.
        :return:                    None
        """

        for callee_func in noreturns:
            # consult the callgraph to find callers of each function
            if callee_func.addr not in self.functions.callgraph:
                continue
            caller_addrs = self.functions.callgraph.predecessors(callee_func.addr)
            for caller_addr in caller_addrs:
                caller = self.functions[caller_addr]
                if callee_func not in caller.transition_graph:
                    continue
                callsites = caller.transition_graph.predecessors(callee_func)
                for callsite in callsites:
                    caller._add_call_site(callsite.addr, callee_func.addr, None)
def _update_function_callsites ( self , noreturns ) : for callee_func in noreturns : # consult the callgraph to find callers of each function if callee_func . addr not in self . functions . callgraph : continue caller_addrs = self . functions . callgraph . predecessors ( callee_func . addr ) for caller_addr in caller_addrs : caller = self . functions [ caller_addr ] if callee_func not in caller . transition_graph : continue callsites = caller . transition_graph . predecessors ( callee_func ) for callsite in callsites : caller . _add_call_site ( callsite . addr , callee_func . addr , None )