use FakeStatement instead of strange Statement constructions

This commit is contained in:
Dave Halter
2014-01-13 14:14:04 +01:00
parent 83b490dd6d
commit cf0a2e8c2e
2 changed files with 4 additions and 7 deletions

View File

@@ -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

View File

@@ -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()