mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-06 14:04:26 +08:00
Move the normal anonymous arguments case over to names
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user