summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2012-01-17 10:31:01 +0100
committerLars Knoll <lars.knoll@nokia.com>2012-01-17 13:38:28 +0100
commit76c68feb2a12586999515d775c8b62e3b497a8fa (patch)
treea04dc5fc17bf4259f37166d6ae00f18e90b307f9
parent2994135f6048052e81fa23191828d2cdda6c8ef6 (diff)
Further cleanups of the qjsonvalue.h header
Change-Id: If748dabaa54c453e9c74117ab670d3280c18bf96 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
-rw-r--r--src/qjsonvalue.cpp24
-rw-r--r--src/qjsonvalue.h4
2 files changed, 13 insertions, 15 deletions
diff --git a/src/qjsonvalue.cpp b/src/qjsonvalue.cpp
index 9933e77..b7102c1 100644
--- a/src/qjsonvalue.cpp
+++ b/src/qjsonvalue.cpp
@@ -184,7 +184,7 @@ QJsonValue::QJsonValue(const QJsonArray &a)
: t(Array), d(a.d)
{
a.compact();
- array = a.a;
+ base = a.a;
if (d)
d->ref.ref();
}
@@ -196,7 +196,7 @@ QJsonValue::QJsonValue(const QJsonObject &o)
: t(Object), d(o.d)
{
o.compact();
- object = o.o;
+ base = o.o;
if (d)
d->ref.ref();
}
@@ -221,7 +221,7 @@ QJsonValue::QJsonValue(const QJsonValue &other)
{
t = other.t;
d = other.d;
- memcpy(raw, other.raw, sizeof(double));
+ ui = other.ui;
if (d)
d->ref.ref();
@@ -332,9 +332,9 @@ QVariant QJsonValue::toVariant() const
case String:
return toString();
case Array:
- return QJsonArray(d, array).toVariantList();
+ return QJsonArray(d, static_cast<Private::Array *>(base)).toVariantList();
case Object:
- return QJsonObject(d, object).toVariantMap();
+ return QJsonObject(d, static_cast<Private::Object *>(base)).toVariantMap();
case Null:
case Undefined:
break;
@@ -415,7 +415,7 @@ QJsonArray QJsonValue::toArray() const
if (!d || t != Array)
return QJsonArray();
- return QJsonArray(d, array);
+ return QJsonArray(d, static_cast<Private::Array *>(base));
}
/*!
@@ -428,7 +428,7 @@ QJsonObject QJsonValue::toObject() const
if (!d || t != Object)
return QJsonObject();
- return QJsonObject(d, object);
+ return QJsonObject(d, static_cast<Private::Object *>(base));
}
/*!
@@ -450,9 +450,11 @@ bool QJsonValue::operator==(const QJsonValue &other) const
case String:
return toString() == other.toString();
case Array:
- return QJsonArray(d, array) == QJsonArray(other.d, other.array);
+ return QJsonArray(d, static_cast<Private::Array *>(base))
+ == QJsonArray(other.d, static_cast<Private::Array *>(other.base));
case Object:
- return QJsonObject(d, object) == QJsonObject(other.d, other.object);
+ return QJsonObject(d, static_cast<Private::Object *>(base))
+ == QJsonObject(other.d, static_cast<Private::Object *>(other.base));
}
return true;
}
@@ -473,12 +475,12 @@ void QJsonValue::detach()
if (!d)
return;
- Private::Data *x = d->detach(object);
+ Private::Data *x = d->detach(base);
x->ref.ref();
if (!d->ref.deref())
delete d;
d = x;
- object = static_cast<Private::Object *>(d->header->root());
+ base = static_cast<Private::Object *>(d->header->root());
}
diff --git a/src/qjsonvalue.h b/src/qjsonvalue.h
index 7aa1c47..a1a3cd9 100644
--- a/src/qjsonvalue.h
+++ b/src/qjsonvalue.h
@@ -101,7 +101,6 @@ public:
private:
// avoid implicit conversions from char * to bool
inline QJsonValue(const void *) {}
- friend class Data;
friend class Private::Value;
friend class QJsonArray;
friend class QJsonObject;
@@ -114,14 +113,11 @@ private:
Type t;
Private::Data *d; // needed for Objects and Arrays
union {
- char raw[sizeof(double)];
quint64 ui;
bool b;
double dbl;
QStringData *stringData;
Private::Base *base;
- Private::Object *object;
- Private::Array *array;
};
};