diff options
| author | Xavier Claessens <xavier.claessens@collabora.com> | 2023-06-13 12:34:26 -0400 |
|---|---|---|
| committer | Xavier Claessens <xavier.claessens@collabora.com> | 2024-02-26 10:03:51 -0500 |
| commit | 53ba7196b93cb96d922c98efc6558715529a7117 (patch) | |
| tree | 8cae5682f7d0516eb17275158150db297797a8e9 | |
| parent | 6cce6c51bf2ae4430d40331717bba8963ac475d8 (diff) | |
| download | meson-53ba7196b93cb96d922c98efc6558715529a7117.tar.gz | |
cargo: Builder: Add support for "!=", "in" and "not in" operators
| -rw-r--r-- | mesonbuild/cargo/builder.py | 27 |
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 |
