From 9a85b921ac457c68cee0c89b8ad11433b1e92d07 Mon Sep 17 00:00:00 2001 From: Jedrzej Nowacki Date: Fri, 8 Jul 2011 15:01:42 +0200 Subject: Replace all QAtomicInt ref variables by QSharedData inheritance. There is no need to do reference counting by hand. QSharedData class provide good encapsulation of reference counter. Change-Id: I2611a51c2fa6673ccca69fe8ff83741ffac06ee9 Reviewed-on: http://codereview.qt.nokia.com/1378 Reviewed-by: Qt Sanity Bot Reviewed-by: Olivier Goffart --- src/script/api/qscriptcontextinfo.cpp | 5 ++--- src/script/api/qscriptengine.cpp | 4 ++-- src/script/api/qscriptprogram_p.h | 5 ++--- src/script/api/qscriptstring_p.h | 4 ++-- src/script/api/qscriptvalue_p.h | 5 ++--- .../debugging/qscriptdebuggerconsolecommandgroupdata.cpp | 5 ++--- src/scripttools/debugging/qscriptdebuggervalue.cpp | 5 ++--- src/scripttools/debugging/qscriptdebuggervalueproperty.cpp | 6 ++---- src/scripttools/debugging/qscriptscriptdata.cpp | 5 ++--- src/scripttools/debugging/qscriptvalueproperty.cpp | 6 ++---- 10 files changed, 20 insertions(+), 30 deletions(-) diff --git a/src/script/api/qscriptcontextinfo.cpp b/src/script/api/qscriptcontextinfo.cpp index c322fbd..41f4f83 100644 --- a/src/script/api/qscriptcontextinfo.cpp +++ b/src/script/api/qscriptcontextinfo.cpp @@ -30,6 +30,7 @@ #include "../bridge/qscriptqobject_p.h" #include #include +#include #include "CodeBlock.h" #include "JSFunction.h" #if ENABLE(JIT) @@ -81,7 +82,7 @@ QT_BEGIN_NAMESPACE \value NativeFunction The function is a built-in Qt Script function, or it was defined through a call to QScriptEngine::newFunction(). */ -class QScriptContextInfoPrivate +class QScriptContextInfoPrivate : public QSharedData { Q_DECLARE_PUBLIC(QScriptContextInfo) public: @@ -103,8 +104,6 @@ public: QStringList parameterNames; - QAtomicInt ref; - QScriptContextInfo *q_ptr; }; diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp index d7799f0..cbf48a9 100644 --- a/src/script/api/qscriptengine.cpp +++ b/src/script/api/qscriptengine.cpp @@ -38,6 +38,7 @@ #include "qdebug.h" #include +#include #include #include @@ -326,7 +327,7 @@ QT_BEGIN_NAMESPACE \value SkipMethodsInEnumeration Don't include methods (signals and slots) when enumerating the object's properties. */ -class QScriptSyntaxCheckResultPrivate +class QScriptSyntaxCheckResultPrivate : public QSharedData { public: QScriptSyntaxCheckResultPrivate() {} @@ -336,7 +337,6 @@ public: int errorColumnNumber; int errorLineNumber; QString errorMessage; - QAtomicInt ref; }; class QScriptTypeInfo diff --git a/src/script/api/qscriptprogram_p.h b/src/script/api/qscriptprogram_p.h index 8898c02..ce9fb08 100644 --- a/src/script/api/qscriptprogram_p.h +++ b/src/script/api/qscriptprogram_p.h @@ -36,6 +36,7 @@ // #include +#include #include "RefPtr.h" @@ -49,7 +50,7 @@ QT_BEGIN_NAMESPACE class QScriptEnginePrivate; -class QScriptProgramPrivate +class QScriptProgramPrivate : public QSharedData { public: QScriptProgramPrivate(const QString &sourceCode, @@ -63,8 +64,6 @@ public: QScriptEnginePrivate *engine); void detachFromEngine(); - QAtomicInt ref; - QString sourceCode; QString fileName; int firstLineNumber; diff --git a/src/script/api/qscriptstring_p.h b/src/script/api/qscriptstring_p.h index 4032e64..bb361c7 100644 --- a/src/script/api/qscriptstring_p.h +++ b/src/script/api/qscriptstring_p.h @@ -36,13 +36,14 @@ // #include +#include #include "Identifier.h" QT_BEGIN_NAMESPACE class QScriptEnginePrivate; -class QScriptStringPrivate +class QScriptStringPrivate : public QSharedData { public: enum AllocationType { @@ -61,7 +62,6 @@ public: static inline bool isValid(const QScriptString &q); - QAtomicInt ref; QScriptEnginePrivate *engine; JSC::Identifier identifier; AllocationType type; diff --git a/src/script/api/qscriptvalue_p.h b/src/script/api/qscriptvalue_p.h index 3ca1d0b..d6b76c2 100644 --- a/src/script/api/qscriptvalue_p.h +++ b/src/script/api/qscriptvalue_p.h @@ -36,6 +36,7 @@ // #include +#include #include "wtf/Platform.h" #include "JSValue.h" @@ -46,7 +47,7 @@ class QString; class QScriptEnginePrivate; class QScriptValue; -class QScriptValuePrivate +class QScriptValuePrivate : public QSharedData { Q_DISABLE_COPY(QScriptValuePrivate) public: @@ -118,8 +119,6 @@ public: // linked list of engine's script values QScriptValuePrivate *prev; QScriptValuePrivate *next; - - QAtomicInt ref; }; inline QScriptValuePrivate::QScriptValuePrivate(QScriptEnginePrivate *e) diff --git a/src/scripttools/debugging/qscriptdebuggerconsolecommandgroupdata.cpp b/src/scripttools/debugging/qscriptdebuggerconsolecommandgroupdata.cpp index 7822e12..4d9c041 100644 --- a/src/scripttools/debugging/qscriptdebuggerconsolecommandgroupdata.cpp +++ b/src/scripttools/debugging/qscriptdebuggerconsolecommandgroupdata.cpp @@ -42,6 +42,7 @@ #include "qscriptdebuggerconsolecommandgroupdata_p.h" #include +#include QT_BEGIN_NAMESPACE @@ -53,7 +54,7 @@ QT_BEGIN_NAMESPACE \brief The QScriptDebuggerConsoleCommandGroupData class holds data associated with a console command group. */ -class QScriptDebuggerConsoleCommandGroupDataPrivate +class QScriptDebuggerConsoleCommandGroupDataPrivate : public QSharedData { public: QScriptDebuggerConsoleCommandGroupDataPrivate(); @@ -61,8 +62,6 @@ public: QString shortDescription; QString longDescription; - - QAtomicInt ref; }; QScriptDebuggerConsoleCommandGroupDataPrivate::QScriptDebuggerConsoleCommandGroupDataPrivate() diff --git a/src/scripttools/debugging/qscriptdebuggervalue.cpp b/src/scripttools/debugging/qscriptdebuggervalue.cpp index 5ece13d..a19a190 100644 --- a/src/scripttools/debugging/qscriptdebuggervalue.cpp +++ b/src/scripttools/debugging/qscriptdebuggervalue.cpp @@ -45,6 +45,7 @@ #include #include #include +#include QT_BEGIN_NAMESPACE @@ -56,7 +57,7 @@ QT_BEGIN_NAMESPACE \brief The QScriptDebuggerValue class represents a script value. */ -class QScriptDebuggerValuePrivate +class QScriptDebuggerValuePrivate : public QSharedData { public: QScriptDebuggerValuePrivate(); @@ -69,8 +70,6 @@ public: double numberValue; qint64 objectId; }; - - QAtomicInt ref; }; QScriptDebuggerValuePrivate::QScriptDebuggerValuePrivate() diff --git a/src/scripttools/debugging/qscriptdebuggervalueproperty.cpp b/src/scripttools/debugging/qscriptdebuggervalueproperty.cpp index 02cc43d..d06f34f 100644 --- a/src/scripttools/debugging/qscriptdebuggervalueproperty.cpp +++ b/src/scripttools/debugging/qscriptdebuggervalueproperty.cpp @@ -43,7 +43,7 @@ #include "qscriptdebuggervalue_p.h" #include "qscriptdebuggerobjectsnapshotdelta_p.h" -#include +#include #include #include @@ -54,7 +54,7 @@ QT_BEGIN_NAMESPACE \class QScriptDebuggerValueProperty */ -class QScriptDebuggerValuePropertyPrivate +class QScriptDebuggerValuePropertyPrivate : public QSharedData { public: QScriptDebuggerValuePropertyPrivate(); @@ -64,8 +64,6 @@ public: QScriptDebuggerValue value; QString valueAsString; QScriptValue::PropertyFlags flags; - - QAtomicInt ref; }; QScriptDebuggerValuePropertyPrivate::QScriptDebuggerValuePropertyPrivate() diff --git a/src/scripttools/debugging/qscriptscriptdata.cpp b/src/scripttools/debugging/qscriptscriptdata.cpp index 7723d6c..074c1e5 100644 --- a/src/scripttools/debugging/qscriptscriptdata.cpp +++ b/src/scripttools/debugging/qscriptscriptdata.cpp @@ -44,6 +44,7 @@ #include #include #include +#include QT_BEGIN_NAMESPACE @@ -55,7 +56,7 @@ QT_BEGIN_NAMESPACE \brief The QScriptScriptData class holds data associated with a script. */ -class QScriptScriptDataPrivate +class QScriptScriptDataPrivate : public QSharedData { public: QScriptScriptDataPrivate(); @@ -65,8 +66,6 @@ public: QString fileName; int baseLineNumber; QDateTime timeStamp; - - QAtomicInt ref; }; QScriptScriptDataPrivate::QScriptScriptDataPrivate() diff --git a/src/scripttools/debugging/qscriptvalueproperty.cpp b/src/scripttools/debugging/qscriptvalueproperty.cpp index 90c4dfc..4e16f9c 100644 --- a/src/scripttools/debugging/qscriptvalueproperty.cpp +++ b/src/scripttools/debugging/qscriptvalueproperty.cpp @@ -41,12 +41,12 @@ #include "qscriptvalueproperty_p.h" -#include +#include #include QT_BEGIN_NAMESPACE -class QScriptValuePropertyPrivate +class QScriptValuePropertyPrivate : public QSharedData { public: QScriptValuePropertyPrivate(); @@ -55,8 +55,6 @@ public: QString name; QScriptValue value; QScriptValue::PropertyFlags flags; - - QAtomicInt ref; }; QScriptValuePropertyPrivate::QScriptValuePropertyPrivate() -- cgit v1.2.1