diff options
author | Daniel Mensinger <daniel@mensinger-ka.de> | 2021-08-29 13:06:56 +0200 |
---|---|---|
committer | Daniel Mensinger <daniel@mensinger-ka.de> | 2021-08-31 23:01:21 +0200 |
commit | 86f70c873a46c63e7a6e12de562ad8c907eabbc5 (patch) | |
tree | d97c30ec996328ca7945e8fe0032bf0390bbf314 /mesonbuild/interpreterbase/operator.py | |
parent | a6c9a151d3ce51d53fc7f34722a7422c3c0faff4 (diff) | |
download | meson-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.py | 34 |
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 = '[]' |