From 55982d699b0e9761b4e6e72e1fb3f8d8d7d7ead7 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Fri, 23 Nov 2018 00:03:32 +0100 Subject: [PATCH] Use AnnotatedSubClass for Async classes like everywhere else as stubs --- jedi/evaluate/context/function.py | 4 ++-- jedi/evaluate/context/instance.py | 6 +----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/jedi/evaluate/context/function.py b/jedi/evaluate/context/function.py index ce7419b1..156d5f8f 100644 --- a/jedi/evaluate/context/function.py +++ b/jedi/evaluate/context/function.py @@ -327,7 +327,7 @@ class FunctionExecutionContext(TreeContext): # The contravariant doesn't seem to be defined. generics = (yield_contexts.py__class__(), NO_CONTEXTS) return ContextSet( - AnnotatedSubClass(c, generics) for c in async_generator_classes + AnnotatedSubClass(c.stub_context, generics) for c in async_generator_classes ).execute_annotation() else: if evaluator.environment.version_info < (3, 5): @@ -337,7 +337,7 @@ class FunctionExecutionContext(TreeContext): # Only the first generic is relevant. generics = (return_contexts.py__class__(), NO_CONTEXTS, NO_CONTEXTS) return ContextSet( - AnnotatedSubClass(c, generics) for c in async_classes + AnnotatedSubClass(c.stub_context, generics) for c in async_classes ).execute_annotation() else: if is_generator: diff --git a/jedi/evaluate/context/instance.py b/jedi/evaluate/context/instance.py index 6d29be81..fc7c20f8 100644 --- a/jedi/evaluate/context/instance.py +++ b/jedi/evaluate/context/instance.py @@ -295,6 +295,7 @@ class TreeInstance(AbstractInstanceContext): ) debug.dbg('Inferred instance context as %s', defined, color='BLUE') return defined + return None def get_annotated_class_object(self): return self._get_annotated_class_object() or self.class_context @@ -396,11 +397,6 @@ class BoundMethod(FunctionMixin, ContextWrapper): return super(BoundMethod, self).get_function_execution(arguments) - def get_default_param_context(self): - if isinstance(self._wrapped_context, MethodContext): - return self.class_context - return self._wrapped_context.get_default_param_context() - def py__call__(self, arguments): if isinstance(self._wrapped_context, OverloadedFunctionContext): return self._wrapped_context.py__call__(self._get_arguments(arguments))