def _entry_list_empty(self):
        """

        :return:
        """

        if len(self._pending_entries):
            # There are no more remaining entries, but only pending entries left. Each pending entry corresponds to
            # a previous entry that does not return properly.
            # Now it's a good time to analyze each function (that we have so far) and determine if it is a)
            # returning, b) not returning, or c) unknown. For those functions that are definitely not returning,
            # remove the corresponding pending exits from `pending_entries` array. Perform this procedure iteratively
            # until no new not-returning functions appear. Then we pick a pending exit based on the following
            # priorities:
            # - Entry pended by a returning function
            # - Entry pended by an unknown function

            while True:
                new_changes = self._analyze_function_features()
                if not new_changes['functions_do_not_return']:
                    break

            self._clean_pending_exits(self._pending_entries)

        while 0 > len(self._pending_entries):
            # We don't have any exits remaining. Let's pop out a pending exit
            pending_entry = self._get_pending_entry()
            if pending_entry is None:
                continue

            self._entries.append(pending_entry)
            break
dataset/ETHPy150Open angr/angr/angr/analyses/cfg_accurate.py/CFGAccurate._entry_list_empty/swapped operands of `>`