Reduced size by 22 bytes by removing writeEmptyArray() and writeEmptyObject()

This commit is contained in:
Benoit Blanchon
2014-11-09 13:54:03 +01:00
parent 12e374d0da
commit 3919f07890
3 changed files with 20 additions and 32 deletions

View File

@ -30,11 +30,9 @@ class JsonWriter {
void beginArray() { write('['); } void beginArray() { write('['); }
void endArray() { write(']'); } void endArray() { write(']'); }
void writeEmptyArray() { write("[]"); }
void beginObject() { write('{'); } void beginObject() { write('{'); }
void endObject() { write('}'); } void endObject() { write('}'); }
void writeEmptyObject() { write("{}"); }
void writeColon() { write(':'); } void writeColon() { write(':'); }
void writeComma() { write(','); } void writeComma() { write(','); }

View File

@ -44,22 +44,17 @@ JsonObject &JsonArray::createNestedObject() {
} }
void JsonArray::writeTo(JsonWriter &writer) const { void JsonArray::writeTo(JsonWriter &writer) const {
node_type *child = _firstNode; writer.beginArray();
if (child) { const node_type *child = _firstNode;
writer.beginArray(); while (child) {
child->content.writeTo(writer);
for (;;) { child = child->next;
child->content.writeTo(writer); if (!child) break;
child = child->next; writer.writeComma();
if (!child) break;
writer.writeComma();
}
writer.endArray();
} else {
writer.writeEmptyArray();
} }
writer.endArray();
} }

View File

@ -68,24 +68,19 @@ JsonObject::node_type *JsonObject::getNodeAt(const char *key) const {
} }
void JsonObject::writeTo(JsonWriter &writer) const { void JsonObject::writeTo(JsonWriter &writer) const {
node_type *node = _firstNode; writer.beginObject();
if (node) { const node_type *node = _firstNode;
writer.beginObject(); while (node) {
writer.writeString(node->content.key);
writer.writeColon();
node->content.value.writeTo(writer);
for (;;) { node = node->next;
writer.writeString(node->content.key); if (!node) break;
writer.writeColon();
node->content.value.writeTo(writer);
node = node->next; writer.writeComma();
if (!node) break;
writer.writeComma();
}
writer.endObject();
} else {
writer.writeEmptyObject();
} }
writer.endObject();
} }