'c.f. CitadelEvaluator._getSymbolCallTips()'

def _calltips_from_hits(self, hits):

    calltips = []
    for (elem, scoperef) in hits:
        if (elem.tag == 'variable'):
            self.debug('_calltips_from_hits::    ignoring    variable:    %r', elem)
            continue
        elif (elem.tag == 'scope'):
            ilk = elem.get('ilk')
            if (ilk == 'function'):
                calltips.append(self._calltip_from_func(elem))
            elif (ilk == 'class'):
                calltips.append(self._calltip_from_class(elem))
            else:
                raise NotImplementedError(('unexpected    scope    ilk    for    calltip    hit:    %r' % elem))
        else:
            raise NotImplementedError(('unexpected    elem    for    calltip    hit:    %r' % elem))
    return calltips
