From f32b0aebebde121ccc385dbef37618e0540667c5 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Fri, 20 Dec 2019 15:41:20 +0100 Subject: [PATCH] call_signatures -> find_signatures --- jedi/api/__init__.py | 12 ++++++++---- jedi/api/classes.py | 6 +++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/jedi/api/__init__.py b/jedi/api/__init__.py index c4b38cd8..fccf1c10 100644 --- a/jedi/api/__init__.py +++ b/jedi/api/__init__.py @@ -371,6 +371,9 @@ class Script(object): return _usages(**kwargs) def call_signatures(self): + return self.find_signatures(*self._pos) + + def find_signatures(self, line=None, column=None): """ Return the function object of the call you're currently in. @@ -384,9 +387,10 @@ class Script(object): This would return an empty list.. - :rtype: list of :class:`classes.CallSignature` + :rtype: list of :class:`classes.Signature` """ - call_details = helpers.get_call_signature_details(self._module_node, self._pos) + pos = line, column + call_details = helpers.get_call_signature_details(self._module_node, pos) if call_details is None: return [] @@ -396,13 +400,13 @@ class Script(object): context, call_details.bracket_leaf, self._code_lines, - self._pos + pos ) debug.speed('func_call followed') # TODO here we use stubs instead of the actual values. We should use # the signatures from stubs, but the actual values, probably?! - return [classes.CallSignature(self._inference_state, signature, call_details) + return [classes.Signature(self._inference_state, signature, call_details) for signature in definitions.get_signatures()] def _analysis(self): diff --git a/jedi/api/classes.py b/jedi/api/classes.py index a51f37b4..3d448edc 100644 --- a/jedi/api/classes.py +++ b/jedi/api/classes.py @@ -650,15 +650,15 @@ class Signature(Definition): return self._signature.to_string() -class CallSignature(Signature): +class Signature(Signature): """ - `CallSignature` objects is the return value of `Script.call_signatures`. + `Signature` objects is the return value of `Script.call_signatures`. It knows what functions you are currently in. e.g. `isinstance(` would return the `isinstance` function with its params. Without `(` it would return nothing. """ def __init__(self, inference_state, signature, call_details): - super(CallSignature, self).__init__(inference_state, signature) + super(Signature, self).__init__(inference_state, signature) self._call_details = call_details self._signature = signature