diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2018-07-11 14:55:08 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2018-07-17 06:55:51 +0000 |
commit | 6b53e7e16df0a2451d2b7948ad35485301c564b6 (patch) | |
tree | 4d6e6beb9cc335c570335e7afa1407e1c23f6090 | |
parent | e732e5c969b8ee3ddfb7ae33761ddc105e0af4cb (diff) |
Get rid of TemporaryAssignment
We can use QScopedValueRollback from QtCore for the same purpose.
Change-Id: I5ca37a52bde5469cdb76928913835140241d42b1
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
-rw-r--r-- | src/qml/compiler/qv4compilerscanfunctions_p.h | 3 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4script.cpp | 3 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4util_p.h | 20 |
3 files changed, 4 insertions, 22 deletions
diff --git a/src/qml/compiler/qv4compilerscanfunctions_p.h b/src/qml/compiler/qv4compilerscanfunctions_p.h index f2d8c2988d..4c273600b3 100644 --- a/src/qml/compiler/qv4compilerscanfunctions_p.h +++ b/src/qml/compiler/qv4compilerscanfunctions_p.h @@ -58,6 +58,7 @@ #include <private/qv4util_p.h> #include <QtCore/QStringList> #include <QStack> +#include <QScopedValueRollback> QT_BEGIN_NAMESPACE @@ -79,7 +80,7 @@ class Codegen; class ScanFunctions: protected QQmlJS::AST::Visitor { - typedef QV4::TemporaryAssignment<bool> TemporaryBoolAssignment; + typedef QScopedValueRollback<bool> TemporaryBoolAssignment; public: ScanFunctions(Codegen *cg, const QString &sourceCode, ContextType defaultProgramType); void operator()(AST::Node *node); diff --git a/src/qml/jsruntime/qv4script.cpp b/src/qml/jsruntime/qv4script.cpp index efd528860f..37c4f27ca9 100644 --- a/src/qml/jsruntime/qv4script.cpp +++ b/src/qml/jsruntime/qv4script.cpp @@ -57,6 +57,7 @@ #include <QtCore/QDebug> #include <QtCore/QString> +#include <QScopedValueRollback> using namespace QV4; @@ -154,7 +155,7 @@ ReturnedValue Script::run(const QV4::Value *thisObject) QV4::Scope valueScope(engine); if (qmlContext.isUndefined()) { - TemporaryAssignment<Function*> savedGlobalCode(engine->globalCode, vmFunction); + QScopedValueRollback<Function*> savedGlobalCode(engine->globalCode, vmFunction); return vmFunction->call(thisObject ? thisObject : engine->globalObject, nullptr, 0, context); diff --git a/src/qml/jsruntime/qv4util_p.h b/src/qml/jsruntime/qv4util_p.h index 2669a3e4bf..073832937d 100644 --- a/src/qml/jsruntime/qv4util_p.h +++ b/src/qml/jsruntime/qv4util_p.h @@ -59,26 +59,6 @@ QT_BEGIN_NAMESPACE namespace QV4 { -template <typename T> -struct TemporaryAssignment -{ - TemporaryAssignment(T &var, const T& temporaryValue) - : variable(var) - , savedValue(var) - { - variable = temporaryValue; - } - ~TemporaryAssignment() - { - variable = savedValue; - } - T &variable; - T savedValue; -private: - TemporaryAssignment(const TemporaryAssignment<T>&); - TemporaryAssignment operator=(const TemporaryAssignment<T>&); -}; - #if !defined(BROKEN_STD_VECTOR_BOOL_OR_BROKEN_STD_FIND) // Sanity: class BitVector |