From d6306a06a4fe77300099feb99014f4304fa04e97 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Tue, 7 Aug 2018 02:47:25 +0200 Subject: [PATCH] With the recent changes one performance optimization got lost --- jedi/evaluate/context/instance.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/jedi/evaluate/context/instance.py b/jedi/evaluate/context/instance.py index 8fcd405d..db94c91a 100644 --- a/jedi/evaluate/context/instance.py +++ b/jedi/evaluate/context/instance.py @@ -30,12 +30,18 @@ class AnonymousInstanceArguments(AnonymousArguments): def get_executed_params(self, execution_context): from jedi.evaluate.dynamic import search_params + self_param = InstanceExecutedParam(self._instance) + tree_params = execution_context.tree_node.get_params() + if len(tree_params) == 1: + # If the only param is self, we don't need to try to find + # executions of this function, we have all the params already. + return [self_param] executed_params = list(search_params( execution_context.evaluator, execution_context, execution_context.tree_node )) - executed_params[0] = InstanceExecutedParam(self._instance) + executed_params[0] = self_param return executed_params