Remove AnonymousFunctionExecution and simplify everything.

This commit is contained in:
Dave Halter
2017-09-09 17:31:21 +02:00
parent 37ec79241c
commit 077bccadc7
2 changed files with 4 additions and 15 deletions

View File

@@ -145,16 +145,13 @@ def _evaluate_for_statement_string(module_context, string):
except (AttributeError, IndexError):
return []
from jedi.evaluate.param import ValuesArguments
from jedi.evaluate.representation import FunctionContext
function_context = FunctionContext(
module_context.evaluator,
module_context,
funcdef
)
func_execution_context = function_context.get_function_execution(
ValuesArguments([])
)
func_execution_context = function_context.get_function_execution()
# Use the module of the param.
# TODO this module is not the module of the param in case of a function
# call. In that case it's the module of the function call.

View File

@@ -267,9 +267,9 @@ class FunctionContext(use_metaclass(CachedMetaClass, context.TreeContext)):
def get_function_execution(self, arguments=None):
e = self.evaluator
if arguments is None:
return AnonymousFunctionExecution(e, self.parent_context, self)
else:
return FunctionExecutionContext(e, self.parent_context, self, arguments)
arguments = param.AnonymousArguments()
return FunctionExecutionContext(e, self.parent_context, self, arguments)
def py__call__(self, arguments):
function_execution = self.get_function_execution(arguments)
@@ -420,14 +420,6 @@ class FunctionExecutionContext(context.TreeContext):
return self.var_args.get_params(self)
class AnonymousFunctionExecution(FunctionExecutionContext):
def __init__(self, evaluator, parent_context, function_context):
super(AnonymousFunctionExecution, self).__init__(
evaluator, parent_context, function_context,
var_args=param.AnonymousArguments()
)
class ModuleAttributeName(AbstractNameDefinition):
"""
For module attributes like __file__, __str__ and so on.