1
0
forked from VimPlug/jedi

Implement is_stub and goto_stubs for the API

This commit is contained in:
Dave Halter
2019-03-11 19:13:24 +01:00
parent 32d2397e64
commit 8e9a91abf8
4 changed files with 46 additions and 2 deletions
+12
View File
@@ -301,6 +301,18 @@ class BaseDefinition(object):
return '.'.join(path if path[0] else path[1:])
def is_stub(self):
return all(c.is_stub() for c in self._name.infer())
def goto_stubs(self):
if self.is_stub():
return [self]
return [
Definition(self._evaluator, d.stub_context.name)
for d in self._name.infer() if d.stub_context is not None
]
def goto_assignments(self):
if self._name.tree_name is None:
return self
+4
View File
@@ -102,6 +102,10 @@ class Context(HelperContextMixin, BaseContext):
To be defined by subclasses.
"""
tree_node = None
stub_context = None
def is_stub(self):
return False
@property
def api_type(self):
+6
View File
@@ -87,6 +87,9 @@ class StubMethodContext(StubFunctionContext):
class _StubOnlyContextMixin(object):
_add_non_stubs_in_filter = False
def is_stub(self):
return True
def _get_stub_only_filters(self, **filter_kwargs):
return [StubOnlyFilter(
self.evaluator,
@@ -155,6 +158,9 @@ class _CompiledStubContext(ContextWrapper):
super(_CompiledStubContext, self).__init__(stub_context)
self._compiled_context = compiled_context
def is_stub(self):
return True
def py__doc__(self, include_call_signature=False):
doc = self._compiled_context.py__doc__()
if include_call_signature: