mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-06 14:04:26 +08:00
@@ -618,7 +618,7 @@ class Signature(Definition):
|
||||
|
||||
@property
|
||||
def params(self):
|
||||
return [Definition(self._evaluator, n)
|
||||
return [ParamDefinition(self._evaluator, n)
|
||||
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):
|
||||
return '\n'.join(
|
||||
signature.to_string()
|
||||
|
||||
@@ -3,7 +3,7 @@ from abc import abstractmethod
|
||||
from parso.tree import search_ancestor
|
||||
|
||||
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
|
||||
|
||||
|
||||
@@ -220,6 +220,18 @@ class ParamName(BaseTreeParamName):
|
||||
def annotation_node(self):
|
||||
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
|
||||
def default_node(self):
|
||||
return self._get_param_node().default
|
||||
|
||||
Reference in New Issue
Block a user