forked from VimPlug/jedi
Add get_param_names to the function execution, which is needed to do some filtering
This commit is contained in:
@@ -208,9 +208,7 @@ def _check_name_for_execution(inference_state, context, compare_node, name, trai
|
|||||||
# Here we're trying to find decorators by checking the first
|
# Here we're trying to find decorators by checking the first
|
||||||
# parameter. It's not very generic though. Should find a better
|
# parameter. It's not very generic though. Should find a better
|
||||||
# solution that also applies to nested decorators.
|
# solution that also applies to nested decorators.
|
||||||
# TODO private access
|
param_names = value.parent_context.get_param_names()
|
||||||
param_names, _ = value.parent_context._arguments.get_executed_param_names_and_issues(
|
|
||||||
value.parent_context._value)
|
|
||||||
if len(param_names) != 1:
|
if len(param_names) != 1:
|
||||||
continue
|
continue
|
||||||
values = param_names[0].infer()
|
values = param_names[0].infer()
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ from jedi.inference import flow_analysis
|
|||||||
from jedi.inference.signature import TreeSignature
|
from jedi.inference.signature import TreeSignature
|
||||||
from jedi.inference.arguments import AnonymousArguments
|
from jedi.inference.arguments import AnonymousArguments
|
||||||
from jedi.inference.filters import ParserTreeFilter, FunctionExecutionFilter
|
from jedi.inference.filters import ParserTreeFilter, FunctionExecutionFilter
|
||||||
from jedi.inference.names import ValueName, AbstractNameDefinition, SimpleParamName
|
from jedi.inference.names import ValueName, AbstractNameDefinition, \
|
||||||
|
SimpleParamName, ParamName
|
||||||
from jedi.inference.base_value import ContextualizedNode, NO_VALUES, \
|
from jedi.inference.base_value import ContextualizedNode, NO_VALUES, \
|
||||||
ValueSet, TreeValue, ValueWrapper
|
ValueSet, TreeValue, ValueWrapper
|
||||||
from jedi.inference.lazy_value import LazyKnownValues, LazyKnownValue, \
|
from jedi.inference.lazy_value import LazyKnownValues, LazyKnownValue, \
|
||||||
@@ -323,6 +324,15 @@ class FunctionExecutionContext(ValueContext, TreeContextMixin):
|
|||||||
else:
|
else:
|
||||||
return self.get_return_values()
|
return self.get_return_values()
|
||||||
|
|
||||||
|
def get_param_names(self):
|
||||||
|
if self._arguments is None:
|
||||||
|
return self._value.get_param_names()
|
||||||
|
else:
|
||||||
|
return [
|
||||||
|
ParamName(self._value, param.name, self._arguments)
|
||||||
|
for param in self._value.tree_node.get_params()
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
class OverloadedFunctionValue(FunctionMixin, ValueWrapper):
|
class OverloadedFunctionValue(FunctionMixin, ValueWrapper):
|
||||||
def __init__(self, function, overloaded_functions):
|
def __init__(self, function, overloaded_functions):
|
||||||
|
|||||||
Reference in New Issue
Block a user