aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan Komissarov <abbapoh@gmail.com>2019-12-03 09:48:07 +0100
committerIvan Komissarov <ABBAPOH@gmail.com>2019-12-04 16:19:41 +0000
commite7ee801c5a7b9b46115c708b906875ad887566cf (patch)
tree3393cd416302ca3584f070e354db7718f397da3b
parentd8dc5e3f853f83a022bf5df60f092475fed43e7f (diff)
Add missing move-ctors to the ErrorItem and ErrorInfo
Change-Id: I4db70f62db5f8f1428cbdd6ee60ac393cfc93298 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r--src/lib/corelib/api/project.cpp12
-rw-r--r--src/lib/corelib/language/moduleloader.cpp3
-rw-r--r--src/lib/corelib/tools/error.cpp6
-rw-r--r--src/lib/corelib/tools/error.h4
4 files changed, 20 insertions, 5 deletions
diff --git a/src/lib/corelib/api/project.cpp b/src/lib/corelib/api/project.cpp
index 383ce6ab5..d8525a4b6 100644
--- a/src/lib/corelib/api/project.cpp
+++ b/src/lib/corelib/api/project.cpp
@@ -1275,7 +1275,8 @@ ErrorInfo Project::addGroup(const ProductData &product, const QString &groupName
d->internalProject->lastStartResolveTime = FileTime::currentTime();
d->internalProject->store(d->logger);
return {};
- } catch (ErrorInfo errorInfo) {
+ } catch (const ErrorInfo &exception) {
+ auto errorInfo = exception;
errorInfo.prepend(Tr::tr("Failure adding group '%1' to product '%2'.")
.arg(groupName, product.name()));
return errorInfo;
@@ -1302,7 +1303,8 @@ ErrorInfo Project::addFiles(const ProductData &product, const GroupData &group,
d->internalProject->lastStartResolveTime = FileTime::currentTime();
d->internalProject->store(d->logger);
return {};
- } catch (ErrorInfo errorInfo) {
+ } catch (const ErrorInfo &exception) {
+ auto errorInfo = exception;
errorInfo.prepend(Tr::tr("Failure adding files to product."));
return errorInfo;
}
@@ -1328,7 +1330,8 @@ ErrorInfo Project::removeFiles(const ProductData &product, const GroupData &grou
d->internalProject->lastStartResolveTime = FileTime::currentTime();
d->internalProject->store(d->logger);
return {};
- } catch (ErrorInfo errorInfo) {
+ } catch (const ErrorInfo &exception) {
+ auto errorInfo = exception;
errorInfo.prepend(Tr::tr("Failure removing files from product '%1'.").arg(product.name()));
return errorInfo;
}
@@ -1349,7 +1352,8 @@ ErrorInfo Project::removeGroup(const ProductData &product, const GroupData &grou
d->internalProject->lastStartResolveTime = FileTime::currentTime();
d->internalProject->store(d->logger);
return {};
- } catch (ErrorInfo errorInfo) {
+ } catch (const ErrorInfo &exception) {
+ auto errorInfo = exception;
errorInfo.prepend(Tr::tr("Failure removing group '%1' from product '%2'.")
.arg(group.name(), product.name()));
return errorInfo;
diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp
index ed507b990..ec7c38197 100644
--- a/src/lib/corelib/language/moduleloader.cpp
+++ b/src/lib/corelib/language/moduleloader.cpp
@@ -2757,7 +2757,8 @@ QVariantMap ModuleLoader::extractParameters(Item *dependsItem) const
QScriptValue sv = m_evaluator->scriptValue(dependsItem);
try {
result = safeToVariant(sv);
- } catch (ErrorInfo ei) {
+ } catch (const ErrorInfo &exception) {
+ auto ei = exception;
ei.prepend(Tr::tr("Error in dependency parameter."), dependsItem->location());
throw ei;
}
diff --git a/src/lib/corelib/tools/error.cpp b/src/lib/corelib/tools/error.cpp
index d9c2951c4..ff7ce46cf 100644
--- a/src/lib/corelib/tools/error.cpp
+++ b/src/lib/corelib/tools/error.cpp
@@ -89,6 +89,8 @@ ErrorItem::ErrorItem() : d(new ErrorItemPrivate)
{
}
+ErrorItem::ErrorItem(ErrorItem &&rhs) noexcept = default;
+
ErrorItem::ErrorItem(const QString &description, const CodeLocation &codeLocation,
bool isBacktraceItem)
: d(new ErrorItemPrivate)
@@ -101,6 +103,7 @@ ErrorItem::ErrorItem(const QString &description, const CodeLocation &codeLocatio
ErrorItem::ErrorItem(const ErrorItem &rhs) = default;
ErrorItem &ErrorItem::operator=(const ErrorItem &other) = default;
+ErrorItem &ErrorItem::operator=(ErrorItem &&other) noexcept = default;
ErrorItem::~ErrorItem() = default;
@@ -188,6 +191,8 @@ ErrorInfo::ErrorInfo() : d(new ErrorInfoPrivate)
ErrorInfo::ErrorInfo(const ErrorInfo &rhs) = default;
+ErrorInfo::ErrorInfo(ErrorInfo &&rhs) noexcept = default;
+
ErrorInfo::ErrorInfo(const QString &description, const CodeLocation &location, bool internalError)
: d(new ErrorInfoPrivate)
{
@@ -213,6 +218,7 @@ ErrorInfo::ErrorInfo(const QString &description, const QStringList &backtrace)
}
}
+ErrorInfo &ErrorInfo::operator=(ErrorInfo &&other) noexcept = default;
ErrorInfo &ErrorInfo::operator =(const ErrorInfo &other) = default;
diff --git a/src/lib/corelib/tools/error.h b/src/lib/corelib/tools/error.h
index abad85bad..36cf5e0ea 100644
--- a/src/lib/corelib/tools/error.h
+++ b/src/lib/corelib/tools/error.h
@@ -63,7 +63,9 @@ class QBS_EXPORT ErrorItem
public:
ErrorItem();
ErrorItem(const ErrorItem &rhs);
+ ErrorItem(ErrorItem &&rhs) noexcept;
ErrorItem &operator=(const ErrorItem &other);
+ ErrorItem &operator=(ErrorItem &&other) noexcept;
~ErrorItem();
QString description() const;
@@ -89,10 +91,12 @@ class QBS_EXPORT ErrorInfo
public:
ErrorInfo();
ErrorInfo(const ErrorInfo &rhs);
+ ErrorInfo(ErrorInfo &&rhs) noexcept;
ErrorInfo(const QString &description, const CodeLocation &location = CodeLocation(),
bool internalError = false);
ErrorInfo(const QString &description, const QStringList &backtrace);
ErrorInfo &operator=(const ErrorInfo &other);
+ ErrorInfo &operator=(ErrorInfo &&other) noexcept;
~ErrorInfo();
void appendBacktrace(const QString &description, const CodeLocation &location = CodeLocation());