Removed virtuals from JsonWriter hierarchy

This commit is contained in:
Benoit Blanchon
2014-11-03 12:51:24 +01:00
parent f26f4263ea
commit 2a60c96baf
6 changed files with 28 additions and 31 deletions

View File

@@ -15,14 +15,14 @@ class CompactJsonWriter : public JsonWriter {
public:
explicit CompactJsonWriter(Print *sink) : JsonWriter(sink) {}
virtual void beginArray() { _length += _sink->write('['); }
virtual void endArray() { _length += _sink->write(']'); }
void beginArray() { _length += _sink->write('['); }
void endArray() { _length += _sink->write(']'); }
virtual void beginObject() { _length += _sink->write('{'); }
virtual void endObject() { _length += _sink->write('}'); }
void beginObject() { _length += _sink->write('{'); }
void endObject() { _length += _sink->write('}'); }
virtual void writeColon() { _length += _sink->write(':'); }
virtual void writeComma() { _length += _sink->write(','); }
void writeColon() { _length += _sink->write(':'); }
void writeComma() { _length += _sink->write(','); }
};
}
}

View File

@@ -17,12 +17,8 @@ class JsonWriter {
size_t bytesWritten() { return _length; }
virtual void beginArray() = 0;
virtual void endArray() = 0;
void writeEmptyArray() { _length += _sink->print("[]"); }
virtual void beginObject() = 0;
virtual void endObject() = 0;
void writeEmptyObject() { _length += _sink->print("{}"); }
void writeString(const char *value);
@@ -30,9 +26,6 @@ class JsonWriter {
void writeBoolean(bool value);
void writeDouble(double value, int decimals);
virtual void writeColon() = 0;
virtual void writeComma() = 0;
protected:
Print *_sink;
size_t _length;

View File

@@ -17,29 +17,29 @@ class PrettyJsonWriter : public JsonWriter {
explicit PrettyJsonWriter(IndentedPrint *sink)
: JsonWriter(sink), _indenter(sink) {}
virtual void beginArray() {
void beginArray() {
_length += _sink->write('[');
indent();
}
virtual void endArray() {
void endArray() {
unindent();
_length += _sink->write(']');
}
virtual void writeColon() { _length += _sink->print(": "); }
void writeColon() { _length += _sink->print(": "); }
virtual void writeComma() {
void writeComma() {
_length += _sink->write(',');
_length += _indenter->println();
}
virtual void beginObject() {
void beginObject() {
_length += _sink->write('{');
indent();
}
virtual void endObject() {
void endObject() {
unindent();
_length += _sink->write('}');
}