forked from VimPlug/jedi
Fix stub conversion for Decoratee, so docstrings work, see #117
This commit is contained in:
@@ -4,6 +4,7 @@ from jedi.inference.base_value import ValueSet, \
|
||||
from jedi.inference.utils import to_list
|
||||
from jedi.inference.gradual.stub_value import StubModuleValue
|
||||
from jedi.inference.gradual.typeshed import try_to_load_stub_cached
|
||||
from jedi.inference.value.decorator import Decoratee
|
||||
|
||||
|
||||
def _stub_to_python_value_set(stub_value, ignore_compiled=False):
|
||||
@@ -11,6 +12,10 @@ def _stub_to_python_value_set(stub_value, ignore_compiled=False):
|
||||
if not stub_module_context.is_stub():
|
||||
return ValueSet([stub_value])
|
||||
|
||||
decorates = None
|
||||
if isinstance(stub_value, Decoratee):
|
||||
decorates = stub_value._original_value
|
||||
|
||||
was_instance = stub_value.is_instance()
|
||||
if was_instance:
|
||||
stub_value = stub_value.py__class__()
|
||||
@@ -37,6 +42,8 @@ def _stub_to_python_value_set(stub_value, ignore_compiled=False):
|
||||
# Now that the instance has been properly created, we can simply get
|
||||
# the method.
|
||||
values = values.py__getattribute__(method_name)
|
||||
if decorates is not None:
|
||||
values = ValueSet(Decoratee(v, decorates) for v in values)
|
||||
return values
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user