forked from VimPlug/jedi
better separation pep0484 code and py__annotation__() function
This commit is contained in:
@@ -49,6 +49,7 @@ from jedi.evaluate import compiled
|
||||
from jedi.evaluate import recursion
|
||||
from jedi.evaluate import iterable
|
||||
from jedi.evaluate import docstrings
|
||||
from jedi.evaluate import pep0484
|
||||
from jedi.evaluate import helpers
|
||||
from jedi.evaluate import param
|
||||
from jedi.evaluate import flow_analysis
|
||||
@@ -585,14 +586,13 @@ class Function(use_metaclass(CachedMetaClass, Wrapper)):
|
||||
parser_func = self.base
|
||||
return_annotation = parser_func.annotation()
|
||||
if return_annotation:
|
||||
dct = {'return': self._evaluator.eval_element(return_annotation)}
|
||||
dct = {'return': return_annotation}
|
||||
else:
|
||||
dct = {}
|
||||
for function_param in parser_func.params:
|
||||
param_annotation = function_param.annotation()
|
||||
if param_annotation:
|
||||
dct[function_param.name.value] = \
|
||||
self._evaluator.eval_element(param_annotation)
|
||||
if param_annotation is not None:
|
||||
dct[function_param.name.value] = param_annotation
|
||||
return dct
|
||||
|
||||
def py__class__(self):
|
||||
@@ -654,9 +654,7 @@ class FunctionExecution(Executed):
|
||||
else:
|
||||
returns = self.returns
|
||||
types = set(docstrings.find_return_types(self._evaluator, func))
|
||||
annotations = func.py__annotations__().get("return", [])
|
||||
types |= set(chain.from_iterable(
|
||||
self._evaluator.execute(d) for d in annotations))
|
||||
types |= set(pep0484.find_return_types(self._evaluator, func))
|
||||
|
||||
for r in returns:
|
||||
check = flow_analysis.break_check(self._evaluator, self, r)
|
||||
|
||||
Reference in New Issue
Block a user