Commit 30408a7a authored by Yedidya Feldblum's avatar Yedidya Feldblum Committed by Facebook Github Bot

CodeMod: dynamic-init-list-ctor

Summary:
CodeMod: `dynamic-init-list-ctor`.

The `folly::dynamic::dynamic(std::initializer_list<folly::dynamic>)` constructor is deprecated because its meaning is ambiguous and variable across compilers and compiler versions.

This diff codemods uses of that constructor to use `folly::dynamic::array<...>(...)` instead.

This codemod may not get 100%, but that's okay. Any amount helps.

Reviewed By: ot

Differential Revision: D4013979

fbshipit-source-id: c6873dbc8027b38e71a0f291466ed2d9bd204a53
parent 1a48bcd9
...@@ -34,7 +34,7 @@ static const dynamic roundtrips[] = { ...@@ -34,7 +34,7 @@ static const dynamic roundtrips[] = {
nullptr, nullptr,
1.5, 1.5,
"hello", "hello",
{1, 2, 3}, folly::dynamic::array(1, 2, 3),
dynamic::object("key", "value")("otherkey", "otherval"), dynamic::object("key", "value")("otherkey", "otherval"),
}; };
...@@ -47,11 +47,10 @@ const uint8_t template_blob[] = ...@@ -47,11 +47,10 @@ const uint8_t template_blob[] =
"\x1e\x0c\x03\x19"; "\x1e\x0c\x03\x19";
// and here's what it represents // and here's what it represents
static const dynamic template_dynamic = { static const dynamic template_dynamic = folly::dynamic::array(
dynamic::object("name", "fred")("age", 20), dynamic::object("name", "fred")("age", 20),
dynamic::object("name", "pete")("age", 30), dynamic::object("name", "pete")("age", 30),
dynamic::object("name", nullptr)("age", 25), dynamic::object("name", nullptr)("age", 25));
};
TEST(Bser, RoundTrip) { TEST(Bser, RoundTrip) {
dynamic decoded(nullptr); dynamic decoded(nullptr);
...@@ -86,8 +85,8 @@ TEST(Bser, Template) { ...@@ -86,8 +85,8 @@ TEST(Bser, Template) {
// Now check that we can generate this same data representation // Now check that we can generate this same data representation
folly::bser::serialization_opts opts; folly::bser::serialization_opts opts;
folly::bser::serialization_opts::TemplateMap templates = { folly::bser::serialization_opts::TemplateMap templates = {std::make_pair(
std::make_pair(&decoded, folly::dynamic{"name", "age"})}; &decoded, folly::dynamic(folly::dynamic::array("name", "age")))};
opts.templates = templates; opts.templates = templates;
str = folly::bser::toBser(decoded, opts); str = folly::bser::toBser(decoded, opts);
......
...@@ -1002,9 +1002,13 @@ TEST(Gen, CopyCount) { ...@@ -1002,9 +1002,13 @@ TEST(Gen, CopyCount) {
TEST(Gen, Dynamic) { TEST(Gen, Dynamic) {
dynamic array1 = dynamic::array(1, 2); dynamic array1 = dynamic::array(1, 2);
EXPECT_EQ(dynamic(3), from(array1) | sum); EXPECT_EQ(dynamic(3), from(array1) | sum);
dynamic array2 = {{1}, {1, 2}}; dynamic array2 = folly::dynamic::array(
folly::dynamic::array(1), folly::dynamic::array(1, 2));
EXPECT_EQ(dynamic(4), from(array2) | rconcat | sum); EXPECT_EQ(dynamic(4), from(array2) | rconcat | sum);
dynamic array3 = {{{1}}, {{1}, {1, 2}}}; dynamic array3 = folly::dynamic::array(
folly::dynamic::array(folly::dynamic::array(1)),
folly::dynamic::array(
folly::dynamic::array(1), folly::dynamic::array(1, 2)));
EXPECT_EQ(dynamic(5), from(array3) | rconcat | rconcat | sum); EXPECT_EQ(dynamic(5), from(array3) | rconcat | rconcat | sum);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment