'Get new exits by performing static analysis and heuristics. This is a fast and best-effort approach to get new
exits for scenarios where states are not available (e.g. when building a fast CFG).
:param list blocks: Blocks that are executed before reaching this SimProcedure.
:return: A list of tuples. Each tuple is (address, jumpkind).
:rtype: list'

def static_exits(self, blocks):

    if self.ADDS_EXITS:
        raise SimProcedureError(('static_exits()    is    not    implemented    for    %s' % self))
    else:
        return []
