Build fix for GCC

refs #7452
This commit is contained in:
Gunnar Beutner 2014-10-27 05:16:58 +01:00
parent 2626ee0256
commit f05ccd07f9

View File

@ -111,7 +111,7 @@ struct JsonElement
{ {
String Key; String Key;
bool KeySet; bool KeySet;
Value Value; Value EValue;
JsonElement(void) JsonElement(void)
: KeySet(false) : KeySet(false)
@ -124,7 +124,7 @@ public:
void Push(const Value& value) void Push(const Value& value)
{ {
JsonElement element; JsonElement element;
element.Value = value; element.EValue = value;
m_Stack.push(element); m_Stack.push(element);
} }
@ -140,24 +140,24 @@ public:
{ {
if (m_Stack.empty()) { if (m_Stack.empty()) {
JsonElement element; JsonElement element;
element.Value = value; element.EValue = value;
m_Stack.push(element); m_Stack.push(element);
return; return;
} }
JsonElement& element = m_Stack.top(); JsonElement& element = m_Stack.top();
if (element.Value.IsObjectType<Dictionary>()) { if (element.EValue.IsObjectType<Dictionary>()) {
if (!element.KeySet) { if (!element.KeySet) {
element.Key = value; element.Key = value;
element.KeySet = true; element.KeySet = true;
} else { } else {
Dictionary::Ptr dict = element.Value; Dictionary::Ptr dict = element.EValue;
dict->Set(element.Key, value); dict->Set(element.Key, value);
element.KeySet = false; element.KeySet = false;
} }
} else if (element.Value.IsObjectType<Array>()) { } else if (element.EValue.IsObjectType<Array>()) {
Array::Ptr arr = element.Value; Array::Ptr arr = element.EValue;
arr->Add(value); arr->Add(value);
} else { } else {
BOOST_THROW_EXCEPTION(std::invalid_argument("Cannot add value to JSON element.")); BOOST_THROW_EXCEPTION(std::invalid_argument("Cannot add value to JSON element."));
@ -167,7 +167,7 @@ public:
Value GetValue(void) const Value GetValue(void) const
{ {
ASSERT(m_Stack.size() == 1); ASSERT(m_Stack.size() == 1);
return m_Stack.top().Value; return m_Stack.top().EValue;
} }
void SaveException(void) void SaveException(void)
@ -262,7 +262,7 @@ static int DecodeEndMap(void *ctx)
JsonContext *context = static_cast<JsonContext *>(ctx); JsonContext *context = static_cast<JsonContext *>(ctx);
try { try {
context->AddValue(context->Pop().Value); context->AddValue(context->Pop().EValue);
} catch (...) { } catch (...) {
context->SaveException(); context->SaveException();
return 0; return 0;
@ -290,7 +290,7 @@ static int DecodeEndArray(void *ctx)
JsonContext *context = static_cast<JsonContext *>(ctx); JsonContext *context = static_cast<JsonContext *>(ctx);
try { try {
context->AddValue(context->Pop().Value); context->AddValue(context->Pop().EValue);
} catch (...) { } catch (...) {
context->SaveException(); context->SaveException();
return 0; return 0;