From ad0000886d158d06e9e0846e83b3f6291f8cb062 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sun, 14 Apr 2019 00:17:14 +0200 Subject: [PATCH] Use MethodContext in create_context --- jedi/evaluate/__init__.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/jedi/evaluate/__init__.py b/jedi/evaluate/__init__.py index 7a8b2219..fcc29cfa 100644 --- a/jedi/evaluate/__init__.py +++ b/jedi/evaluate/__init__.py @@ -80,7 +80,7 @@ from jedi.evaluate.filters import TreeNameDefinition, ParamName from jedi.evaluate.base_context import ContextualizedName, ContextualizedNode, \ ContextSet, NO_CONTEXTS, iterate_contexts from jedi.evaluate.context import ClassContext, FunctionContext, \ - AnonymousInstance, BoundMethod + AnonymousInstance, BoundMethod, MethodContext from jedi.evaluate.context.iterable import CompForContext from jedi.evaluate.syntax_tree import eval_trailer, eval_expr_stmt, \ eval_node, check_tuple_assignments @@ -434,15 +434,16 @@ class Evaluator(object): parent_context = from_scope_node(parent_scope) if is_funcdef: - parent_was_class = isinstance(parent_context, ClassContext) + parent_was_class = parent_context.is_class() if parent_was_class: parent_context = AnonymousInstance( self, parent_context.parent_context, parent_context) + cls = MethodContext + else: + cls = FunctionContext + + func = cls.from_context(parent_context, scope_node) - func = FunctionContext.from_context( - parent_context, - scope_node - ) if parent_was_class: func = BoundMethod( instance=parent_context,