aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreterbase/operator.py
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2021-08-29 13:06:56 +0200
committerDaniel Mensinger <daniel@mensinger-ka.de>2021-08-31 23:01:21 +0200
commit86f70c873a46c63e7a6e12de562ad8c907eabbc5 (patch)
treed97c30ec996328ca7945e8fe0032bf0390bbf314 /mesonbuild/interpreterbase/operator.py
parenta6c9a151d3ce51d53fc7f34722a7422c3c0faff4 (diff)
downloadmeson-86f70c873a46c63e7a6e12de562ad8c907eabbc5.zip
meson-86f70c873a46c63e7a6e12de562ad8c907eabbc5.tar.gz
meson-86f70c873a46c63e7a6e12de562ad8c907eabbc5.tar.bz2
interpreter: Introduce operators support for InterpreterObjects
Diffstat (limited to 'mesonbuild/interpreterbase/operator.py')
-rw-r--r--mesonbuild/interpreterbase/operator.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/mesonbuild/interpreterbase/operator.py b/mesonbuild/interpreterbase/operator.py
new file mode 100644
index 0000000..bf9b6b0
--- /dev/null
+++ b/mesonbuild/interpreterbase/operator.py
@@ -0,0 +1,34 @@
+# SPDX-license-identifier: Apache-2.0
+
+from enum import Enum
+
+class MesonOperator(Enum):
+ # Arithmetic
+ PLUS = '+'
+ MINUS = '-'
+ TIMES = '*'
+ DIV = '/'
+ MOD = '%'
+
+ UMINUS = 'uminus'
+
+ # Logic
+ NOT = 'not'
+ AND = 'and'
+ OR = 'or'
+
+ # Should return the boolsche interpretation of the value (`'' == false` for instance)
+ BOOL = 'bool()'
+
+ # Comparision
+ EQUALS = '=='
+ NOT_EQUALS = '!='
+ GREATER = '>'
+ LESS = '<'
+ GREATER_EQUALS = '>='
+ LESS_EQUALS = '<='
+
+ # Container
+ IN = 'in'
+ NOT_IN = 'not in'
+ INDEX = '[]'