mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-06 22:14:27 +08:00
@@ -618,7 +618,7 @@ class Signature(Definition):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def params(self):
|
def params(self):
|
||||||
return [Definition(self._evaluator, n)
|
return [ParamDefinition(self._evaluator, n)
|
||||||
for n in self._signature.get_param_names(resolve_stars=True)]
|
for n in self._signature.get_param_names(resolve_stars=True)]
|
||||||
|
|
||||||
|
|
||||||
@@ -660,6 +660,14 @@ class CallSignature(Signature):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ParamDefinition(Definition):
|
||||||
|
def infer_default(self):
|
||||||
|
return [Definition(self._evaluator, d.name) for d in self._name.infer_default()]
|
||||||
|
|
||||||
|
def infer_annotation(self):
|
||||||
|
return [Definition(self._evaluator, d.name) for d in self._name.infer_annotation()]
|
||||||
|
|
||||||
|
|
||||||
def _format_signatures(context):
|
def _format_signatures(context):
|
||||||
return '\n'.join(
|
return '\n'.join(
|
||||||
signature.to_string()
|
signature.to_string()
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ from abc import abstractmethod
|
|||||||
from parso.tree import search_ancestor
|
from parso.tree import search_ancestor
|
||||||
|
|
||||||
from jedi._compatibility import Parameter
|
from jedi._compatibility import Parameter
|
||||||
from jedi.evaluate.base_context import ContextSet
|
from jedi.evaluate.base_context import ContextSet, NO_CONTEXTS
|
||||||
from jedi.cache import memoize_method
|
from jedi.cache import memoize_method
|
||||||
|
|
||||||
|
|
||||||
@@ -220,6 +220,18 @@ class ParamName(BaseTreeParamName):
|
|||||||
def annotation_node(self):
|
def annotation_node(self):
|
||||||
return self._get_param_node().annotation
|
return self._get_param_node().annotation
|
||||||
|
|
||||||
|
def infer_annotation(self):
|
||||||
|
node = self.annotation_node
|
||||||
|
if node is None:
|
||||||
|
return NO_CONTEXTS
|
||||||
|
return self.parent_context.parent_context.eval_node(node)
|
||||||
|
|
||||||
|
def infer_default(self):
|
||||||
|
node = self.default_node
|
||||||
|
if node is None:
|
||||||
|
return NO_CONTEXTS
|
||||||
|
return self.parent_context.parent_context.eval_node(node)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def default_node(self):
|
def default_node(self):
|
||||||
return self._get_param_node().default
|
return self._get_param_node().default
|
||||||
|
|||||||
Reference in New Issue
Block a user