aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qmldirparser/qqmldirparser.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2019-11-22 13:35:36 +0100
committerUlf Hermann <ulf.hermann@qt.io>2019-11-23 17:20:00 +0100
commit16683799681578d076c46b71f77d326ac304cc6e (patch)
treefc1264c6e6bbed9d671222628360629752f63ca3 /src/qml/qmldirparser/qqmldirparser.cpp
parentb7030c2efb90fd1109166d8d476aeab7194c41e1 (diff)
QQmlDirParser: Fix lifecycle management
Remove pointless ctor and dtor, provide a clear() method that actually clears everything, call that explicitly where needed. Task-number: QTBUG-30467 Change-Id: I67c632af3a7a76d1d1a706a5ab6d1c446240405c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/qmldirparser/qqmldirparser.cpp')
-rw-r--r--src/qml/qmldirparser/qqmldirparser.cpp23
1 files changed, 11 insertions, 12 deletions
diff --git a/src/qml/qmldirparser/qqmldirparser.cpp b/src/qml/qmldirparser/qqmldirparser.cpp
index 5bf33d3602..047323a3d4 100644
--- a/src/qml/qmldirparser/qqmldirparser.cpp
+++ b/src/qml/qmldirparser/qqmldirparser.cpp
@@ -73,12 +73,18 @@ static bool parseVersion(const QString &str, int *major, int *minor)
return false;
}
-QQmlDirParser::QQmlDirParser() : _designerSupported(false)
-{
-}
-
-QQmlDirParser::~QQmlDirParser()
+void QQmlDirParser::clear()
{
+ _errors.clear();
+ _typeNamespace.clear();
+ _components.clear();
+ _dependencies.clear();
+ _imports.clear();
+ _scripts.clear();
+ _plugins.clear();
+ _designerSupported = false;
+ _typeInfos.clear();
+ _className.clear();
}
inline static void scanSpace(const QChar *&ch) {
@@ -101,13 +107,6 @@ inline static void scanWord(const QChar *&ch) {
*/
bool QQmlDirParser::parse(const QString &source)
{
- _errors.clear();
- _plugins.clear();
- _components.clear();
- _scripts.clear();
- _designerSupported = false;
- _className.clear();
-
quint16 lineNumber = 0;
bool firstLine = true;