summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2023-06-13 12:34:26 -0400
committerXavier Claessens <xavier.claessens@collabora.com>2024-02-26 10:03:51 -0500
commit53ba7196b93cb96d922c98efc6558715529a7117 (patch)
tree8cae5682f7d0516eb17275158150db297797a8e9
parent6cce6c51bf2ae4430d40331717bba8963ac475d8 (diff)
downloadmeson-53ba7196b93cb96d922c98efc6558715529a7117.tar.gz
cargo: Builder: Add support for "!=", "in" and "not in" operators
-rw-r--r--mesonbuild/cargo/builder.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/mesonbuild/cargo/builder.py b/mesonbuild/cargo/builder.py
index ad2c76066..112788444 100644
--- a/mesonbuild/cargo/builder.py
+++ b/mesonbuild/cargo/builder.py
@@ -137,6 +137,33 @@ class Builder:
"""
return mparser.ComparisonNode('==', lhs, self._symbol('=='), rhs)
+ def not_equal(self, lhs: mparser.BaseNode, rhs: mparser.BaseNode) -> mparser.ComparisonNode:
+ """Create an inequality operation
+
+ :param lhs: The left hand side of the "!="
+ :param rhs: the right hand side of the "!="
+ :return: A compraison node
+ """
+ return mparser.ComparisonNode('!=', lhs, self._symbol('!='), rhs)
+
+ def in_(self, lhs: mparser.BaseNode, rhs: mparser.BaseNode) -> mparser.ComparisonNode:
+ """Create an "in" operation
+
+ :param lhs: The left hand side of the "in"
+ :param rhs: the right hand side of the "in"
+ :return: A compraison node
+ """
+ return mparser.ComparisonNode('in', lhs, self._symbol('in'), rhs)
+
+ def not_in(self, lhs: mparser.BaseNode, rhs: mparser.BaseNode) -> mparser.ComparisonNode:
+ """Create an "not in" operation
+
+ :param lhs: The left hand side of the "not in"
+ :param rhs: the right hand side of the "not in"
+ :return: A compraison node
+ """
+ return mparser.ComparisonNode('notin', lhs, self._symbol('not in'), rhs)
+
def or_(self, lhs: mparser.BaseNode, rhs: mparser.BaseNode) -> mparser.OrNode:
"""Create and OrNode