From 45ecded01d814d0d0bf9b84c0dafa65575ab2bdd Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sun, 10 Feb 2013 00:50:46 +0200 Subject: Started work on keyword arguments. --- nodes.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'nodes.py') diff --git a/nodes.py b/nodes.py index 72b1edd4d..b1d26ee40 100644 --- a/nodes.py +++ b/nodes.py @@ -170,13 +170,26 @@ class Arguments(Statement): def __init__(self, lineno): Statement.__init__(self, lineno) self.arguments = [] - + self.kwargs = {} + self.order_error = False + def prepend(self, statement): self.arguments = [statement] + self.arguments - def __len__(self): + def set_kwarg(self, name, value): + if self.num_args() > 0: + self.order_error = True + self.kwargs[name.get_value()] = value + + def num_args(self): return len(self.arguments) + def num_kwargs(self): + return len(self.kwargs) + + def __len__(self): + return self.num_args() # Fixme + def statement_from_expression(expr): if isinstance(expr, AtomExpression): return AtomStatement(expr.value, expr.lineno()) -- cgit v1.2.3