mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-07 22:44:27 +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
|
LazyValueWrapper
|
||||||
from jedi.parser_utils import get_cached_parent_scope
|
from jedi.parser_utils import get_cached_parent_scope
|
||||||
from jedi.inference.utils import to_list
|
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()
|
_definition_name_cache = weakref.WeakKeyDictionary()
|
||||||
|
|
||||||
@@ -158,7 +159,10 @@ class FunctionExecutionFilter(ParserTreeFilter):
|
|||||||
for name in names:
|
for name in names:
|
||||||
param = search_ancestor(name, 'param')
|
param = search_ancestor(name, 'param')
|
||||||
if 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:
|
else:
|
||||||
yield TreeNameDefinition(self.parent_context, name)
|
yield TreeNameDefinition(self.parent_context, name)
|
||||||
|
|
||||||
|
|||||||
@@ -331,9 +331,9 @@ class SimpleParamName(X):
|
|||||||
values = super(SimpleParamName, self).infer()
|
values = super(SimpleParamName, self).infer()
|
||||||
if values:
|
if values:
|
||||||
return values
|
return values
|
||||||
func_context = self.function_value.as_context()
|
|
||||||
# TODO private access
|
# 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()
|
return param_names[self._get_param_node().position_index].infer()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -86,8 +86,6 @@ class FunctionMixin(object):
|
|||||||
return function_execution.infer()
|
return function_execution.infer()
|
||||||
|
|
||||||
def _as_context(self, arguments=None):
|
def _as_context(self, arguments=None):
|
||||||
if arguments is None:
|
|
||||||
arguments = AnonymousArguments()
|
|
||||||
return FunctionExecutionContext(self, arguments)
|
return FunctionExecutionContext(self, arguments)
|
||||||
|
|
||||||
def get_signatures(self):
|
def get_signatures(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user