diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2019-05-23 14:57:09 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2019-06-14 19:08:51 +0200 |
commit | d4d197d06279f9257647628f7e1ccc9ec763a6bb (patch) | |
tree | fb2a69b85cb1d7aee173267062421058d5e9d57c /src/qml/compiler/qqmlirbuilder_p.h | |
parent | 67191c2b3213259c6eaf045154e9370faa085868 (diff) |
Simplify errors and diagnostics
We only need two classes to describe all possible diagnostics:
* A low-level private POD DiagnosticMessage. This is easily copied and
passed around internally. It doesn't need to adhere to a stable API
and it doesn't carry any extra baggage.
* The high-level public QQmlError with its stable interface. This can
internally also use a DiagnosticMessage as storage.
Change-Id: I52be88d9b5d9855a661b8032b01eedb43a0fb0b3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/compiler/qqmlirbuilder_p.h')
-rw-r--r-- | src/qml/compiler/qqmlirbuilder_p.h | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/qml/compiler/qqmlirbuilder_p.h b/src/qml/compiler/qqmlirbuilder_p.h index b49eaee420..64298466e0 100644 --- a/src/qml/compiler/qqmlirbuilder_p.h +++ b/src/qml/compiler/qqmlirbuilder_p.h @@ -526,16 +526,15 @@ private: } // namespace QmlIR -struct QQmlCompileError +inline QQmlJS::DiagnosticMessage qQmlCompileError(const QV4::CompiledData::Location &location, + const QString &description) { - QQmlCompileError() {} - QQmlCompileError(const QV4::CompiledData::Location &location, const QString &description) - : location(location), description(description) {} - QV4::CompiledData::Location location; - QString description; - - bool isSet() const { return !description.isEmpty(); } -}; + QQmlJS::DiagnosticMessage error; + error.line = location.line; + error.column = location.column; + error.message = description; + return error; +} QT_END_NAMESPACE |