QmlDesigner: Explicit instantiation of ProjectStorage

Change-Id: If56a3b7f8189c998a6335a31ecca8a82cb269604
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
Marco Bubke
2022-07-06 21:55:04 +02:00
committed by Tim Jenssen
parent dc32c6028c
commit 02d05f76d9
5 changed files with 35 additions and 26 deletions

View File

@@ -420,7 +420,7 @@ extend_qtc_plugin(QmlDesigner
filestatuscache.cpp filestatuscache.h filestatuscache.cpp filestatuscache.h
nonlockingmutex.h nonlockingmutex.h
projectstorageinterface.h projectstorageinterface.h
projectstorage.h projectstorage.cpp projectstorage.h
projectstoragepathwatcher.h projectstoragepathwatcher.h
projectstoragepathwatcherinterface.h projectstoragepathwatcherinterface.h
projectstoragepathwatchernotifierinterface.h projectstoragepathwatchernotifierinterface.h

View File

@@ -0,0 +1,30 @@
/****************************************************************************
**
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
#include "projectstorage.h"
#include <sqlitedatabase.h>
template class QmlDesigner::ProjectStorage<Sqlite::Database>;

View File

@@ -31,6 +31,7 @@
#include "storagecache.h" #include "storagecache.h"
#include <sqlitealgorithms.h> #include <sqlitealgorithms.h>
#include <sqlitedatabase.h>
#include <sqlitetable.h> #include <sqlitetable.h>
#include <sqlitetransaction.h> #include <sqlitetransaction.h>
@@ -828,29 +829,6 @@ private:
&typeId); &typeId);
} }
void prepareLinkingOfAliasPropertiesDeclarationsWithAliasId(
PropertyDeclarationId aliasId, AliasPropertyDeclarations &relinkableAliasPropertyDeclarations)
{
auto callback = [&](long long propertyDeclarationId,
long long propertyImportedTypeNameId,
long long aliasPropertyDeclarationId) {
auto aliasPropertyName = selectPropertyNameStatement.template value<Utils::SmallString>(
aliasPropertyDeclarationId);
relinkableAliasPropertyDeclarations
.emplace_back(PropertyDeclarationId{propertyDeclarationId},
ImportedTypeNameId{propertyImportedTypeNameId},
std::move(aliasPropertyName));
updateAliasPropertyDeclarationToNullStatement.write(propertyDeclarationId);
return Sqlite::CallbackControl::Continue;
};
selectAliasPropertiesDeclarationForPropertiesWithAliasIdStatement.readCallback(callback,
&aliasId);
}
void handlePropertyDeclarationWithPropertyType(TypeId typeId, void handlePropertyDeclarationWithPropertyType(TypeId typeId,
PropertyDeclarations &relinkablePropertyDeclarations) PropertyDeclarations &relinkablePropertyDeclarations)
{ {
@@ -2870,5 +2848,5 @@ public:
"FROM imports", "FROM imports",
database}; database};
}; };
extern template class ProjectStorage<Sqlite::Database>;
} // namespace QmlDesigner } // namespace QmlDesigner

View File

@@ -466,6 +466,7 @@ Project {
"filesystem.h", "filesystem.h",
"filesysteminterface.h", "filesysteminterface.h",
"nonlockingmutex.h", "nonlockingmutex.h",
"projectstorage.cpp",
"projectstorage.h", "projectstorage.h",
"projectstorageinterface.h", "projectstorageinterface.h",
"projectstoragepathwatcher.h", "projectstoragepathwatcher.h",

View File

@@ -250,7 +250,7 @@ extend_qtc_test(unittest
projectstorage/filestatuscache.cpp projectstorage/filestatuscache.h projectstorage/filestatuscache.cpp projectstorage/filestatuscache.h
projectstorage/nonlockingmutex.h projectstorage/nonlockingmutex.h
projectstorage/projectstorageinterface.h projectstorage/projectstorageinterface.h
projectstorage/projectstorage.h projectstorage/projectstorage.cpp projectstorage/projectstorage.h
projectstorage/projectstoragepathwatcher.h projectstorage/projectstoragepathwatcher.h
projectstorage/projectstoragepathwatcherinterface.h projectstorage/projectstoragepathwatcherinterface.h
projectstorage/projectstoragepathwatchernotifierinterface.h projectstorage/projectstoragepathwatchernotifierinterface.h