diff --git a/jedi/evaluate/helpers.py b/jedi/evaluate/helpers.py index b298d8bb..0bd9e576 100644 --- a/jedi/evaluate/helpers.py +++ b/jedi/evaluate/helpers.py @@ -163,8 +163,8 @@ class FakeSubModule(): class FakeStatement(pr.Statement): - def __init__(self, expression_list): - p = 0, 0 + def __init__(self, expression_list, start_pos=(0, 0)): + p = start_pos super(FakeStatement, self).__init__(FakeSubModule, expression_list, p, p) self._expression_list = expression_list diff --git a/jedi/evaluate/param.py b/jedi/evaluate/param.py index e6c2ee45..db982e7e 100644 --- a/jedi/evaluate/param.py +++ b/jedi/evaluate/param.py @@ -28,9 +28,7 @@ def get_params(evaluator, func, var_args): arr.values = values key_stmts = [] for key in keys: - stmt = pr.Statement(helpers.FakeSubModule, [], start_pos, None) - stmt._expression_list = [key] - key_stmts.append(stmt) + key_stmts.append(helpers.FakeStatement([key], start_pos)) arr.keys = key_stmts arr.type = array_type @@ -140,8 +138,7 @@ def _var_args_iterator(evaluator, var_args): continue old = stmt # generate a statement if it's not already one. - stmt = pr.Statement(helpers.FakeSubModule, [], (0, 0), None) - stmt._expression_list = [old] + stmt = helpers.FakeStatement([old]) # *args expression_list = stmt.expression_list()