def call_signatures(self):
        call_txt, call_index, key_name, start_pos = self._user_context.call_signature()
        if call_txt is None:
            return []

        stmt = self._get_under_cursor_stmt(call_txt, start_pos)
        if stmt is None:
            return []

        with common.scale_speed_settings(settings.scale_call_signatures):
            origins = cache.cache_call_signatures(self._evaluator, stmt,
                                                  self.source, self._pos)
        debug.speed('func_call followed')

        return [classes.CallSignature(self._evaluator, o.name, stmt, call_index, key_name)
                for o in origins if hasattr(o, 'py__call__')]
Return root node. Raise ``ValueError`` if root node doesn't exist.
dataset/ETHPy150Open davidhalter/jedi/jedi/api/__init__.py/Script.call_signatures--crossover with--dataset/ETHPy150Open conceptsandtraining/libtree/libtree/core/query.py/get_root_node