From 4fd1149be25947466e72a5d3ddcb8afa4b387d9e Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Mon, 2 Sep 2019 10:05:12 +0200 Subject: [PATCH] Fix infering of dynamic params --- jedi/inference/names.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/jedi/inference/names.py b/jedi/inference/names.py index b2933d79..6c26d3cc 100644 --- a/jedi/inference/names.py +++ b/jedi/inference/names.py @@ -254,7 +254,7 @@ class BaseTreeParamName(ParamNameInterface, AbstractTreeName): return [self] -class SimpleParamName(BaseTreeParamName): +class X(BaseTreeParamName): def __init__(self, function_value, tree_name): super(BaseTreeParamName, self).__init__( function_value.get_default_param_context(), tree_name) @@ -323,7 +323,17 @@ class SimpleParamName(BaseTreeParamName): return doc_params -class ParamName(SimpleParamName): +class SimpleParamName(X): + def __init__(self, function_value, tree_name): + super(SimpleParamName, self).__init__(function_value, tree_name) + + def infer(self): + func_context = self.function_value.as_context() + param_names, _ = func_context.get_executed_param_names_and_issues() + return param_names[self._get_param_node().position_index].infer() + + +class ParamName(X): def __init__(self, function_value, tree_name, arguments): super(ParamName, self).__init__(function_value, tree_name) self.arguments = arguments