diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-01-25 20:40:00 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-01-25 20:40:00 +0200 |
commit | bd6e542f1c5be82ce24eb9374423747fa7b27a29 (patch) | |
tree | 77173a87f953349b97e1071c7016e5ff2edd448a /nodes.py | |
parent | faaa0df78b139bd1058ccff40ba31e39f7f2381e (diff) | |
download | meson-bd6e542f1c5be82ce24eb9374423747fa7b27a29.zip meson-bd6e542f1c5be82ce24eb9374423747fa7b27a29.tar.gz meson-bd6e542f1c5be82ce24eb9374423747fa7b27a29.tar.bz2 |
Added boolean data type.
Diffstat (limited to 'nodes.py')
-rw-r--r-- | nodes.py | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -27,6 +27,15 @@ class Expression(Node): class Statement(Node): pass +class BoolExpression(Expression): + def __init__(self, value, lineno): + Expression.__init__(self, lineno) + self.value = value + assert(isinstance(value, bool)) + + def get_value(self): + return self.value + class AtomExpression(Expression): def __init__(self, value, lineno): Expression.__init__(self, lineno) @@ -49,6 +58,15 @@ class AtomStatement(Statement): def get_value(self): return self.value +class BoolStatement(Statement): + def __init__(self, value, lineno): + Statement.__init__(self, lineno) + assert(isinstance(value, bool)) + self.value = value + + def get_value(self): + return self.value + class StringStatement(Statement): def __init__(self, value, lineno): assert(type(value) == type('')) @@ -107,4 +125,6 @@ def statement_from_expression(expr): return AtomStatement(expr.value, expr.lineno()) if isinstance(expr, StringExpression): return StringStatement(expr.value, expr.lineno()) + if isinstance(expr, BoolExpression): + return BoolStatement(expr.value, expr.lineno()) raise RuntimeError('Can not convert unknown expression to a statement.') |