forked from VimPlug/jedi
Use a class stub class
This commit is contained in:
@@ -165,10 +165,16 @@ class StubName(TreeNameDefinition):
|
||||
c.parent_context,
|
||||
c.tree_node,
|
||||
)
|
||||
elif isinstance(c, ClassContext):
|
||||
yield ClassStubContext(
|
||||
c.evaluator,
|
||||
c.parent_context,
|
||||
c.tree_node
|
||||
)
|
||||
else:
|
||||
yield c
|
||||
|
||||
contexts = tree_name_to_contexts(
|
||||
contexts = tree_name_to_contexts(
|
||||
self.parent_context.evaluator,
|
||||
self._stub_parent_context,
|
||||
self._stub_tree_name
|
||||
@@ -176,7 +182,6 @@ class StubName(TreeNameDefinition):
|
||||
return ContextSet.from_iterable(iterate(contexts))
|
||||
|
||||
|
||||
|
||||
class StubParserTreeFilter(ParserTreeFilter):
|
||||
name_class = StubName
|
||||
|
||||
|
||||
@@ -37,14 +37,20 @@ def test_get_stub_files():
|
||||
|
||||
|
||||
def test_function(Script):
|
||||
s = Script('import threading; threading.current_thread')
|
||||
def_, = s.goto_definitions()
|
||||
code = 'import threading; threading.current_thread'
|
||||
def_, = Script(code).goto_definitions()
|
||||
context = def_._name._context
|
||||
assert isinstance(context, typeshed.FunctionStubContext), context
|
||||
|
||||
def_, = Script(code + '()').goto_definitions()
|
||||
context = def_._name._context
|
||||
assert isinstance(context, typeshed.ClassStubContext), context
|
||||
|
||||
|
||||
def test_class(Script):
|
||||
s = Script('import threading; threading.Lock')
|
||||
def_, = Script('import threading; threading.Lock').goto_definitions()
|
||||
context = def_._name._context
|
||||
assert isinstance(context, typeshed.ClassStubContext), context
|
||||
|
||||
|
||||
def test_instance(Script):
|
||||
|
||||
Reference in New Issue
Block a user