summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2023-06-02 12:48:21 -0400
committerXavier Claessens <xclaesse@gmail.com>2023-10-09 21:13:58 -0400
commit3334addbbd70122fc02174312299353ecf1a5bcc (patch)
tree3ecd0735bf7cc112bde091b989dd969d2b6f6f2c
parentb5b952688f03d69e947c144f4d928145e6e47a5f (diff)
downloadmeson-3334addbbd70122fc02174312299353ecf1a5bcc.tar.gz
cargo: Builder: Add dict support
-rw-r--r--mesonbuild/cargo/builder.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/mesonbuild/cargo/builder.py b/mesonbuild/cargo/builder.py
index 66fd00c27..17b4ca52c 100644
--- a/mesonbuild/cargo/builder.py
+++ b/mesonbuild/cargo/builder.py
@@ -72,6 +72,17 @@ class Builder:
args.arguments = value
return mparser.ArrayNode(self._symbol('['), args, self._symbol(']'))
+ def dict(self, value: T.Dict[mparser.BaseNode, mparser.BaseNode]) -> mparser.DictNode:
+ """Build an Dictionary Node
+
+ :param value: A dict of nodes to insert into the dictionary
+ :return: An DictNode built from the arguments
+ """
+ args = mparser.ArgumentNode(self._token('dict', 'unused'))
+ for key, val in value.items():
+ args.set_kwarg_no_check(key, val)
+ return mparser.DictNode(self._symbol('{'), args, self._symbol('}'))
+
def identifier(self, value: str) -> mparser.IdNode:
"""Build A IdNode