HomePhabricator

[MsgPack] Added convenience assignment to MsgPackDocument

Authored by tpr on May 18 2020, 6:13 AM.

Description

[MsgPack] Added convenience assignment to MsgPackDocument

This commit increases the convenience of using the MsgPackDocument API,
especially when creating a document for writing out.

It adds direct assignment of bool, integer and string types to a
DocNode, as long as that DocNode is already inside a document, e.g. the
result of a map lookup. It also adds map lookup given an integer type
(it already had that for string).

So, to assign a string to a map element whose key is an int, you can
now write

MyMap[42] = "towel";

instead of

MyMap[MyMap.getDocument()->getNode(42)] =
    MyMap.getDocument()->getNode("towel");

Also added MapDocNode::erase methods.

Differential Revision: https://reviews.llvm.org/D80121

Change-Id: I17301fa15bb9802231c52542798af5b54beb583e