Eliminate ArrayInit.set(litstr)

In runtime code, use StaticString for literals or String for computed
char strings.  In test code, I justed used String("literal") to keep
the conversion simpler.  I think tests are ultimately easier to maintain
without the StaticString treatment.
Esse commit está contido em:
Edwin Smith
2013-05-12 07:47:55 -07:00
commit de sgolemon
commit cd734dec99
9 arquivos alterados com 149 adições e 135 exclusões
+34 -22
Ver Arquivo
@@ -39,19 +39,37 @@ namespace HPHP {
Array(ArrayInit(6, ArrayInit::vectorInit).set(e1).set(e2).set(e3). \
set(e4).set(e5).set(e6).create())
#define CREATE_MAP1(n, e) Array(ArrayInit(1).set(n, e).create())
#define CREATE_MAP2(n1, e1, n2, e2) \
Array(ArrayInit(2).set(n1, e1).set(n2, e2).create())
#define CREATE_MAP3(n1, e1, n2, e2, n3, e3) \
Array(ArrayInit(3).set(n1, e1).set(n2, e2).set(n3, e3).create())
#define CREATE_MAP4(n1, e1, n2, e2, n3, e3, n4, e4) \
Array(ArrayInit(4).set(n1, e1).set(n2, e2).set(n3, e3).set(n4, e4).create())
#define CREATE_MAP5(n1, e1, n2, e2, n3, e3, n4, e4, n5, e5) \
Array(ArrayInit(5).set(n1, e1).set(n2, e2).set(n3, e3). \
set(n4, e4).set(n5, e5).create())
#define CREATE_MAP6(n1, e1, n2, e2, n3, e3, n4, e4, n5, e5, n6, e6) \
Array(ArrayInit(6).set(n1, e1).set(n2, e2).set(n3, e3).set(n4, e4). \
set(n5, e5).set(n6, e6).create())
inline String initkey(const char* s) { return String(s); }
inline int64_t initkey(int k) { return k; }
inline int64_t initkey(int64_t k) { return k; }
inline CStrRef initkey(CStrRef k) { return k; }
#define CREATE_MAP1(n, e) Array(ArrayInit(1).set(initkey(n), e).create())
#define CREATE_MAP2(n1, e1, n2, e2)\
Array(ArrayInit(2).set(initkey(n1), e1)\
.set(initkey(n2), e2).create())
#define CREATE_MAP3(n1, e1, n2, e2, n3, e3)\
Array(ArrayInit(3).set(initkey(n1), e1)\
.set(initkey(n2), e2)\
.set(initkey(n3), e3).create())
#define CREATE_MAP4(n1, e1, n2, e2, n3, e3, n4, e4)\
Array(ArrayInit(4).set(initkey(n1), e1)\
.set(initkey(n2), e2)\
.set(initkey(n3), e3)\
.set(initkey(n4), e4).create())
#define CREATE_MAP5(n1, e1, n2, e2, n3, e3, n4, e4, n5, e5)\
Array(ArrayInit(5).set(initkey(n1), e1)\
.set(initkey(n2), e2)\
.set(initkey(n3), e3)\
.set(initkey(n4), e4)\
.set(initkey(n5), e5).create())
#define CREATE_MAP6(n1, e1, n2, e2, n3, e3, n4, e4, n5, e5, n6, e6)\
Array(ArrayInit(6).set(initkey(n1), e1)\
.set(initkey(n2), e2)\
.set(initkey(n3), e3)\
.set(initkey(n4), e4)\
.set(initkey(n5), e5)\
.set(initkey(n6), e6).create())
///////////////////////////////////////////////////////////////////////////////
// ArrayInit
@@ -120,15 +138,9 @@ public:
return *this;
}
ArrayInit &set(litstr name, CVarRef v, bool keyConverted = false) {
String key(name);
if (keyConverted) {
m_data->set(key, v, false);
} else {
m_data->set(key.toKey(), v, false);
}
return *this;
}
// set(const char*) deprecated. Use set(CStrRef) with a StaticString,
// if you have a literal, or String otherwise.
ArrayInit &set(const char*, CVarRef v, bool keyConverted = false) = delete;
ArrayInit &set(CStrRef name, CVarRef v, bool keyConverted = false) {
if (keyConverted) {
+13 -12
Ver Arquivo
@@ -147,22 +147,23 @@ void CmdConfig::onClientImpl(DebuggerClient &client) {
listVars(client);
}
static const StaticString s_BypassAccessCheck("BypassAccessCheck");
static const StaticString s_LogFile("LogFile");
static const StaticString s_PrintLevel("PrintLevel");
static const StaticString s_SmallStep("SmallStep");
static const StaticString s_StackArgs("StackArgs");
static const StaticString s_ApiModeSerialize("ApiModeSerialize");
static const StaticString
s_BypassAccessCheck("BypassAccessCheck"),
s_LogFile("LogFile"),
s_PrintLevel("PrintLevel"),
s_SmallStep("SmallStep"),
s_StackArgs("StackArgs"),
s_ApiModeSerialize("ApiModeSerialize");
void CmdConfig::setClientOutput(DebuggerClient &client) {
client.setOutputType(DebuggerClient::OTValues);
ArrayInit values(6);
values.set("BypassAccessCheck", client.getDebuggerBypassCheck());
values.set("LogFile", client.getLogFile());
values.set("PrintLevel", client.getDebuggerPrintLevel());
values.set("SmallStep", client.getDebuggerSmallStep());
values.set("StackArgs", client.getDebuggerStackArgs());
values.set("ApiModeSerialize", client.getDebuggerClientApiModeSerialize());
values.set(s_BypassAccessCheck, client.getDebuggerBypassCheck());
values.set(s_LogFile, client.getLogFile());
values.set(s_PrintLevel, client.getDebuggerPrintLevel());
values.set(s_SmallStep, client.getDebuggerSmallStep());
values.set(s_StackArgs, client.getDebuggerStackArgs());
values.set(s_ApiModeSerialize, client.getDebuggerClientApiModeSerialize());
client.setOTValues(values.create());
}
+2 -2
Ver Arquivo
@@ -61,8 +61,8 @@ static const StaticString s_value("value");
void CmdEval::setClientOutput(DebuggerClient &client) {
client.setOutputType(DebuggerClient::OTValues);
ArrayInit values(2);
values.set("body", m_body);
values.set("value", m_output);
values.set(s_body, m_body);
values.set(s_value, m_output);
client.setOTValues(values.create());
}
+10 -9
Ver Arquivo
@@ -195,14 +195,15 @@ Variant f_http_build_query(CVarRef formdata,
///////////////////////////////////////////////////////////////////////////////
static const StaticString s_scheme("scheme");
static const StaticString s_host("host");
static const StaticString s_user("user");
static const StaticString s_pass("pass");
static const StaticString s_path("path");
static const StaticString s_query("query");
static const StaticString s_fragment("fragment");
static const StaticString s_port("port");
static const StaticString
s_scheme("scheme"),
s_host("host"),
s_user("user"),
s_pass("pass"),
s_path("path"),
s_query("query"),
s_fragment("fragment"),
s_port("port");
#define RETURN_COMPONENT(name) \
if (resource.name != NULL) { \
@@ -263,7 +264,7 @@ Variant f_parse_url(CStrRef url, int component /* = -1 */) {
SET_COMPONENT(query);
SET_COMPONENT(fragment);
if (resource.port) {
ret.set("port", (int64_t)resource.port);
ret.set(s_port, (int64_t)resource.port);
}
return ret.create();
}
+9 -9
Ver Arquivo
@@ -86,7 +86,7 @@ bool Test::logTestResults(std::string name, std::string details, int pass,
char summary[100];
sprintf(summary, "PASSED (%d)", pass);
std::string status = "passed";
const char* status = "passed";
if (skip > 0) {
sprintf(summary, "SKIPPED (%d)", skip);
@@ -98,14 +98,14 @@ bool Test::logTestResults(std::string name, std::string details, int pass,
}
ArrayInit data(8);
data.set("type", "hphp");
data.set("name", name);
data.set("contacts", null_array);
data.set("endedTime", time(nullptr));
data.set("durationSecs", mseconds / 1000.0);
data.set("status", status);
data.set("summary", std::string(summary));
data.set("details", details);
data.set(String("type"), "hphp");
data.set(String("name"), name);
data.set(String("contacts"), null_array);
data.set(String("endedTime"), time(nullptr));
data.set(String("durationSecs"), mseconds / 1000.0);
data.set(String("status"), status);
data.set(String("summary"), std::string(summary));
data.set(String("details"), details);
if (!logger.logTest(Array(data.create()))) {
printf("WARNING: Logging %s failed\n", name.c_str());
+53 -53
Ver Arquivo
@@ -453,13 +453,13 @@ bool TestExtArray::test_array_merge_recursive() {
}
{
Array ar1(ArrayInit(2).
set("color", CREATE_MAP1("favorite", "red")).
set(String("color"), CREATE_MAP1("favorite", "red")).
set(1, 5).
create());
Array ar2(ArrayInit(2).set(10).
set("color", Array(ArrayInit(2).
set("favorite", "green").
set(String("color"), Array(ArrayInit(2).
set(String("favorite"), "green").
set("blue").create())).
create());
@@ -488,11 +488,11 @@ bool TestExtArray::test_array_merge_recursive() {
bool TestExtArray::test_array_merge() {
{
Array array1(ArrayInit(3).set("color", "red").
Array array1(ArrayInit(3).set(String("color"), "red").
set(2).set(4).create());
Array array2(ArrayInit(5).set("a").set("b").
set("color", "green").
set("shape", "trapezoid").
Array array2(ArrayInit(5).set(String("a")).set("b").
set(String("color"), "green").
set(String("shape"), "trapezoid").
set(4).create());
Array result = f_array_merge(2, array1, CREATE_VECTOR1(array2));
VS(f_print_r(result, true),
@@ -573,13 +573,13 @@ bool TestExtArray::test_array_merge() {
bool TestExtArray::test_array_replace_recursive() {
Array ar1(ArrayInit(2).
set("color", CREATE_MAP1("favorite", "red")).
set(String("color"), CREATE_MAP1("favorite", "red")).
set(5).create());
Array ar2(ArrayInit(2).
set(10).
set("color", Array(ArrayInit(2).
set("favorite", "green").
set(String("color"), Array(ArrayInit(2).
set(String("favorite"), "green").
set("blue").create())).
create());
@@ -600,11 +600,11 @@ bool TestExtArray::test_array_replace_recursive() {
bool TestExtArray::test_array_replace() {
{
Array array1(ArrayInit(3).set("color", "red").
Array array1(ArrayInit(3).set(String("color"), "red").
set(2).set(4).create());
Array array2(ArrayInit(5).set("a").set("b").
set("color", "green").
set("shape", "trapezoid").
set(String("color"), "green").
set(String("shape"), "trapezoid").
set(4).create());
Array result = f_array_replace(2, array1, CREATE_VECTOR1(array2));
VS(f_print_r(result, true),
@@ -1040,7 +1040,7 @@ bool TestExtArray::test_array_sum() {
bool TestExtArray::test_array_unique() {
{
Array input(ArrayInit(5).
set("a", "green").set("red").set("b", "green").
set(String("a"), "green").set("red").set(String("b"), "green").
set("blue").set("red").create());
Array result = f_array_unique(input);
VS(f_print_r(result, true),
@@ -1456,9 +1456,9 @@ bool TestExtArray::test_range() {
}
bool TestExtArray::test_array_diff() {
Array array1(ArrayInit(4).set("a", "green").set("red").
set("blue").set("red").create());
Array array2(ArrayInit(3).set("b", "green").set("yellow").
Array array1(ArrayInit(4).set(String("a"), "green").set("red").
set(String("blue")).set("red").create());
Array array2(ArrayInit(3).set(String("b"), "green").set("yellow").
set("red").create());
Array result = f_array_diff(2, array1, array2);
VS(f_print_r(result, true),
@@ -1491,13 +1491,13 @@ bool TestExtArray::test_array_udiff() {
bool TestExtArray::test_array_diff_assoc() {
{
Array array1(ArrayInit(4).set("a", "green").
set("b", "brown").
set("c", "blue").
set("red").create());
Array array2(ArrayInit(3).set("a", "green").
Array array1(ArrayInit(4).set(String("a"), "green").
set(String("b"), "brown").
set(String("c"), "blue").
set("red").create());
Array array2(ArrayInit(3).set(String("a"), "green").
set("yellow").
set("red").create());
set("red").create());
Array result = f_array_diff_assoc(2, array1, array2);
VS(f_print_r(result, true),
"Array\n"
@@ -1523,11 +1523,11 @@ bool TestExtArray::test_array_diff_assoc() {
bool TestExtArray::test_array_diff_uassoc() {
{
Array array1(ArrayInit(4).set("a", "green").
set("b", "brown").
set("c", "blue").
Array array1(ArrayInit(4).set(String("a"), "green").
set(String("b"), "brown").
set(String("c"), "blue").
set("red").create());
Array array2(ArrayInit(3).set("a", "green").
Array array2(ArrayInit(3).set(String("a"), "green").
set("yellow").
set("red").create());
Array result = f_array_diff_uassoc(3, array1, array2, "comp_func");
@@ -1590,10 +1590,10 @@ bool TestExtArray::test_array_diff_ukey() {
}
bool TestExtArray::test_array_intersect() {
Array array1(ArrayInit(3).set("a", "green").
Array array1(ArrayInit(3).set(String("a"), "green").
set("red").
set("blue").create());
Array array2(ArrayInit(3).set("b", "green").
Array array2(ArrayInit(3).set(String("b"), "green").
set("yellow").
set("red").create());
VS(f_array_intersect(2, array1, array2),
@@ -1602,12 +1602,12 @@ bool TestExtArray::test_array_intersect() {
}
bool TestExtArray::test_array_uintersect() {
Array array1(ArrayInit(4).set("a", "green").
set("b", "brown").
set("c", "blue").
Array array1(ArrayInit(4).set(String("a"), "green").
set(String("b"), "brown").
set(String("c"), "blue").
set("red").create());
Array array2(ArrayInit(4).set("a", "GREEN").
set("B", "brown").
Array array2(ArrayInit(4).set(String("a"), "GREEN").
set(String("B"), "brown").
set("yellow").
set("red").create());
VS(f_print_r(f_array_uintersect(3, array1, array2, "strcasecmp"), true),
@@ -1622,11 +1622,11 @@ bool TestExtArray::test_array_uintersect() {
}
bool TestExtArray::test_array_intersect_assoc() {
Array array1(ArrayInit(4).set("a", "green").
set("b", "brown").
set("c", "blue").
Array array1(ArrayInit(4).set(String("a"), "green").
set(String("b"), "brown").
set(String("c"), "blue").
set("red").create());
Array array2(ArrayInit(3).set("a", "green").
Array array2(ArrayInit(3).set(String("a"), "green").
set("yellow").
set("red").create());
VS(f_array_intersect_assoc(2, array1, array2), CREATE_MAP1("a", "green"));
@@ -1634,12 +1634,12 @@ bool TestExtArray::test_array_intersect_assoc() {
}
bool TestExtArray::test_array_intersect_uassoc() {
Array array1(ArrayInit(4).set("a", "green").
set("b", "brown").
set("c", "blue").
Array array1(ArrayInit(4).set(String("a"), "green").
set(String("b"), "brown").
set(String("c"), "blue").
set("red").create());
Array array2(ArrayInit(4).set("a", "GREEN").
set("B", "brown").
Array array2(ArrayInit(4).set(String("a"), "GREEN").
set(String("B"), "brown").
set("yellow").
set("red").create());
VS(f_array_intersect_uassoc(3, array1, array2, "strcasecmp"),
@@ -1648,12 +1648,12 @@ bool TestExtArray::test_array_intersect_uassoc() {
}
bool TestExtArray::test_array_uintersect_assoc() {
Array array1(ArrayInit(4).set("a", "green").
set("b", "brown").
set("c", "blue").
Array array1(ArrayInit(4).set(String("a"), "green").
set(String("b"), "brown").
set(String("c"), "blue").
set("red").create());
Array array2(ArrayInit(4).set("a", "GREEN").
set("B", "brown").
Array array2(ArrayInit(4).set(String("a"), "GREEN").
set(String("B"), "brown").
set("yellow").
set("red").create());
VS(f_array_uintersect_assoc(3, array1, array2, "strcasecmp"),
@@ -1662,12 +1662,12 @@ bool TestExtArray::test_array_uintersect_assoc() {
}
bool TestExtArray::test_array_uintersect_uassoc() {
Array array1(ArrayInit(4).set("a", "green").
set("b", "brown").
set("c", "blue").
Array array1(ArrayInit(4).set(String("a"), "green").
set(String("b"), "brown").
set(String("c"), "blue").
set("red").create());
Array array2(ArrayInit(4).set("a", "GREEN").
set("B", "brown").
Array array2(ArrayInit(4).set(String("a"), "GREEN").
set(String("B"), "brown").
set("yellow").
set("red").create());
VS(f_array_uintersect_uassoc(4, array1, array2, "strcasecmp", "strcasecmp"),
+11 -11
Ver Arquivo
@@ -254,17 +254,17 @@ bool TestExtMailparse::test_mailparse_msg_get_part() {
"from 66.178.40.49 by BAY116-DAV8.phx.gbl with DAV;");
VS(info,
Array(ArrayInit(11).
set("headers", CREATE_MAP1("received", received)).
set("starting-pos", 0).
set("starting-pos-body", 200).
set("ending-pos", 200).
set("ending-pos-body", 200).
set("line-count", 6).
set("body-line-count", 0).
set("charset", "us-ascii").
set("transfer-encoding", "8bit").
set("content-type", "text/plain").
set("content-base", "/").
set(String("headers"), CREATE_MAP1("received", received)).
set(String("starting-pos"), 0).
set(String("starting-pos-body"), 200).
set(String("ending-pos"), 200).
set(String("ending-pos-body"), 200).
set(String("line-count"), 6).
set(String("body-line-count"), 0).
set(String("charset"), "us-ascii").
set(String("transfer-encoding"), "8bit").
set(String("content-type"), "text/plain").
set(String("content-base"), "/").
create()));
}
+9 -9
Ver Arquivo
@@ -96,12 +96,12 @@ bool TestExtUrl::test_http_build_query() {
}
{
Array data = Array(ArrayInit(6).
set("foo").
set("bar").
set("baz").
set("boom").
set("cow", "milk").
set("php", "hypertext processor").
set(String("foo")).
set(String("bar")).
set(String("baz")).
set(String("boom")).
set(String("cow"), "milk").
set(String("php"), "hypertext processor").
create());
VS(f_http_build_query(data),
"0=foo&1=bar&2=baz&3=boom&cow=milk&php=hypertext+processor");
@@ -111,14 +111,14 @@ bool TestExtUrl::test_http_build_query() {
}
{
Array data = Array(ArrayInit(4).
set("user",
set(String("user"),
CREATE_MAP4("name", "Bob Smith",
"age", 47,
"sex", "M",
"dob", "5/12/1956")).
set("pastimes",
set(String("pastimes"),
CREATE_VECTOR4("golf", "opera", "poker", "rap")).
set("children",
set(String("children"),
CREATE_MAP2("bobby", CREATE_MAP2("age",12,"sex","M"),
"sally", CREATE_MAP2("age", 8,"sex","F"))).
set("CEO").
+8 -8
Ver Arquivo
@@ -44,14 +44,14 @@ bool TestLogger::initializeRun() {
hostname = buf;
ArrayInit data(8);
data.set("startedTime", time(nullptr));
data.set("stillRunning", true);
data.set("hostname", hostname);
data.set("username", getpwuid(getuid())->pw_name);
data.set("repository", getRepoRoot());
data.set("svnRevision", getSVNRevision());
data.set("gitRevision", getGitRevision());
data.set("tags", CREATE_VECTOR2("hphp", "c++"));
data.set(String("startedTime"), time(nullptr));
data.set(String("stillRunning"), true);
data.set(String("hostname"), hostname);
data.set(String("username"), getpwuid(getuid())->pw_name);
data.set(String("repository"), getRepoRoot());
data.set(String("svnRevision"), getSVNRevision());
data.set(String("gitRevision"), getGitRevision());
data.set(String("tags"), CREATE_VECTOR2("hphp", "c++"));
Array dataArr(data.create());