Move the normal anonymous arguments case over to names

This commit is contained in:
Dave Halter
2019-09-03 01:28:54 +02:00
parent 33586deef1
commit 1495a0ec4c
3 changed files with 8 additions and 6 deletions

View File

@@ -13,7 +13,8 @@ from jedi.inference.base_value import ValueSet, Value, ValueWrapper, \
LazyValueWrapper
from jedi.parser_utils import get_cached_parent_scope
from jedi.inference.utils import to_list
from jedi.inference.names import TreeNameDefinition, ParamName, AbstractNameDefinition
from jedi.inference.names import TreeNameDefinition, ParamName, \
SimpleParamName, AbstractNameDefinition
_definition_name_cache = weakref.WeakKeyDictionary()
@@ -158,7 +159,10 @@ class FunctionExecutionFilter(ParserTreeFilter):
for name in names:
param = search_ancestor(name, 'param')
if param:
yield ParamName(self._function_value, name, self._arguments)
if self._arguments:
yield ParamName(self._function_value, name, self._arguments)
else:
yield SimpleParamName(self._function_value, name)
else:
yield TreeNameDefinition(self.parent_context, name)

View File

@@ -331,9 +331,9 @@ class SimpleParamName(X):
values = super(SimpleParamName, self).infer()
if values:
return values
func_context = self.function_value.as_context()
# TODO private access
param_names, _ = func_context._arguments.get_executed_param_names_and_issues(self.function_value)
from jedi.inference.dynamic_params import search_param_names
param_names = search_param_names(self.function_value.inference_state, self.function_value, self.function_value.tree_node)
return param_names[self._get_param_node().position_index].infer()

View File

@@ -86,8 +86,6 @@ class FunctionMixin(object):
return function_execution.infer()
def _as_context(self, arguments=None):
if arguments is None:
arguments = AnonymousArguments()
return FunctionExecutionContext(self, arguments)
def get_signatures(self):