From 8fc2add242e9367691bc8fa78f786613dd361835 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Mon, 6 Aug 2018 12:49:31 +0200 Subject: [PATCH] FunctionExecutionContext should use the parent if possible --- jedi/evaluate/context/instance.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/jedi/evaluate/context/instance.py b/jedi/evaluate/context/instance.py index b5fa0970..8fcd405d 100644 --- a/jedi/evaluate/context/instance.py +++ b/jedi/evaluate/context/instance.py @@ -323,12 +323,16 @@ class BoundMethod(AbstractFunction): if arguments is None: arguments = AnonymousInstanceArguments(self._instance) - return FunctionExecutionContext( - self.evaluator, - self.parent_context, - self, - InstanceArguments(self._instance, arguments) - ) + arguments = InstanceArguments(self._instance, arguments) + + if isinstance(self._function, compiled.CompiledObject): + # This is kind of weird, because it's coming from a compiled object + # and we're not sure if we want that in the future. + return FunctionExecutionContext( + self.evaluator, self.parent_context, self, arguments + ) + + return self._function.get_function_execution(arguments) def __repr__(self): return '<%s: %s>' % (self.__class__.__name__, self._function)