forked from qt-creator/qt-creator
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:
@@ -420,7 +420,7 @@ extend_qtc_plugin(QmlDesigner
|
||||
filestatuscache.cpp filestatuscache.h
|
||||
nonlockingmutex.h
|
||||
projectstorageinterface.h
|
||||
projectstorage.h
|
||||
projectstorage.cpp projectstorage.h
|
||||
projectstoragepathwatcher.h
|
||||
projectstoragepathwatcherinterface.h
|
||||
projectstoragepathwatchernotifierinterface.h
|
||||
|
@@ -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>;
|
@@ -31,6 +31,7 @@
|
||||
#include "storagecache.h"
|
||||
|
||||
#include <sqlitealgorithms.h>
|
||||
#include <sqlitedatabase.h>
|
||||
#include <sqlitetable.h>
|
||||
#include <sqlitetransaction.h>
|
||||
|
||||
@@ -828,29 +829,6 @@ private:
|
||||
&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,
|
||||
PropertyDeclarations &relinkablePropertyDeclarations)
|
||||
{
|
||||
@@ -2870,5 +2848,5 @@ public:
|
||||
"FROM imports",
|
||||
database};
|
||||
};
|
||||
|
||||
extern template class ProjectStorage<Sqlite::Database>;
|
||||
} // namespace QmlDesigner
|
||||
|
@@ -466,6 +466,7 @@ Project {
|
||||
"filesystem.h",
|
||||
"filesysteminterface.h",
|
||||
"nonlockingmutex.h",
|
||||
"projectstorage.cpp",
|
||||
"projectstorage.h",
|
||||
"projectstorageinterface.h",
|
||||
"projectstoragepathwatcher.h",
|
||||
|
@@ -250,7 +250,7 @@ extend_qtc_test(unittest
|
||||
projectstorage/filestatuscache.cpp projectstorage/filestatuscache.h
|
||||
projectstorage/nonlockingmutex.h
|
||||
projectstorage/projectstorageinterface.h
|
||||
projectstorage/projectstorage.h
|
||||
projectstorage/projectstorage.cpp projectstorage/projectstorage.h
|
||||
projectstorage/projectstoragepathwatcher.h
|
||||
projectstorage/projectstoragepathwatcherinterface.h
|
||||
projectstorage/projectstoragepathwatchernotifierinterface.h
|
||||
|
Reference in New Issue
Block a user