Got rid of the switch/case in JsonValue

This commit is contained in:
Benoît Blanchon
2014-06-30 18:37:54 +02:00
parent 10068e7b22
commit 81f7849c26
2 changed files with 37 additions and 38 deletions

View File

@ -6,27 +6,25 @@
#include "JsonValue.h"
#include "JsonObjectBase.h"
void JsonValue::writeTo(StringBuilder& sb)
void JsonValue::writeBooleanTo(StringBuilder& sb)
{
switch (type)
{
case JSON_STRING:
sb.appendEscaped(content.string);
break;
sb.append(content.boolean ? "true" : "false");
}
case JSON_NUMBER:
sb.append(content.number);
break;
void JsonValue::writeNumberTo(StringBuilder& sb)
{
sb.append(content.number);
}
case JSON_BOOLEAN:
sb.append(content.boolean ? "true" : "false");
break;
void JsonValue::writeObjectTo(StringBuilder& sb)
{
if (content.object)
((JsonObjectBase*) content.object)->writeTo(sb);
else
sb.append("null");
}
case JSON_OBJECT:
if (content.object)
((JsonObjectBase*)content.object)->writeTo(sb);
else
sb.append("null");
break;
}
void JsonValue::writeStringTo(StringBuilder& sb)
{
sb.appendEscaped(content.string);
}