diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-02-10 00:50:46 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-02-10 00:50:46 +0200 |
commit | 45ecded01d814d0d0bf9b84c0dafa65575ab2bdd (patch) | |
tree | c65e38fb0455cc815ceddbe99f305fb8d0ebe7a8 /nodes.py | |
parent | da2e9f6688ea9545ccc056195ea36421e3e019aa (diff) | |
download | meson-45ecded01d814d0d0bf9b84c0dafa65575ab2bdd.zip meson-45ecded01d814d0d0bf9b84c0dafa65575ab2bdd.tar.gz meson-45ecded01d814d0d0bf9b84c0dafa65575ab2bdd.tar.bz2 |
Started work on keyword arguments.
Diffstat (limited to 'nodes.py')
-rw-r--r-- | nodes.py | 17 |
1 files changed, 15 insertions, 2 deletions
@@ -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()) |