diff options
author | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-02-27 17:35:28 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@digia.com> | 2014-02-28 11:35:30 +0100 |
commit | aea575be39ec8b179d75af087a01bb9d96d50e59 (patch) | |
tree | 87cf70f3e13ea6c10eef82833d49412038f981e1 /src | |
parent | 1dd5936442cfd94aa191596f6150df293ea86e7a (diff) |
move ResolvedFileContext to separate files
Change-Id: I066ea8aa826c254de82b9591ab4b6eec23665b0d
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/corelib/buildgraph/buildgraph.cpp | 1 | ||||
-rw-r--r-- | src/lib/corelib/corelib.qbs | 2 | ||||
-rw-r--r-- | src/lib/corelib/language/language.cpp | 43 | ||||
-rw-r--r-- | src/lib/corelib/language/language.h | 23 | ||||
-rw-r--r-- | src/lib/corelib/language/language.pri | 2 | ||||
-rw-r--r-- | src/lib/corelib/language/projectresolver.cpp | 1 | ||||
-rw-r--r-- | src/lib/corelib/language/resolvedfilecontext.cpp | 79 | ||||
-rw-r--r-- | src/lib/corelib/language/resolvedfilecontext.h | 66 |
8 files changed, 152 insertions, 65 deletions
diff --git a/src/lib/corelib/buildgraph/buildgraph.cpp b/src/lib/corelib/buildgraph/buildgraph.cpp index 5c0b4553c..35b67e736 100644 --- a/src/lib/corelib/buildgraph/buildgraph.cpp +++ b/src/lib/corelib/buildgraph/buildgraph.cpp @@ -38,6 +38,7 @@ #include <jsextensions/moduleproperties.h> #include <language/language.h> #include <language/preparescriptobserver.h> +#include <language/resolvedfilecontext.h> #include <language/scriptengine.h> #include <logging/logger.h> #include <logging/translator.h> diff --git a/src/lib/corelib/corelib.qbs b/src/lib/corelib/corelib.qbs index 71a99f34b..3ac288a6a 100644 --- a/src/lib/corelib/corelib.qbs +++ b/src/lib/corelib/corelib.qbs @@ -212,6 +212,8 @@ QbsLibrary { "propertydeclaration.h", "propertymapinternal.cpp", "propertymapinternal.h", + "resolvedfilecontext.cpp", + "resolvedfilecontext.h", "scriptengine.cpp", "scriptengine.h", "scriptpropertyobserver.h", diff --git a/src/lib/corelib/language/language.cpp b/src/lib/corelib/language/language.cpp index a040b87b6..8c57bb378 100644 --- a/src/lib/corelib/language/language.cpp +++ b/src/lib/corelib/language/language.cpp @@ -30,6 +30,7 @@ #include "language.h" #include "artifactproperties.h" +#include "resolvedfilecontext.h" #include "scriptengine.h" #include <buildgraph/artifact.h> #include <buildgraph/productbuilddata.h> @@ -50,23 +51,6 @@ #include <QMutexLocker> #include <QScriptValue> -QT_BEGIN_NAMESPACE -inline QDataStream& operator>>(QDataStream &stream, qbs::Internal::JsImport &jsImport) -{ - stream >> jsImport.scopeName - >> jsImport.filePaths - >> jsImport.location; - return stream; -} - -inline QDataStream& operator<<(QDataStream &stream, const qbs::Internal::JsImport &jsImport) -{ - return stream << jsImport.scopeName - << jsImport.filePaths - << jsImport.location; -} -QT_END_NAMESPACE - namespace qbs { namespace Internal { @@ -246,31 +230,6 @@ void RuleArtifact::store(PersistentPool &pool) const } } -void ResolvedFileContext::load(PersistentPool &pool) -{ - filePath = pool.idLoadString(); - jsExtensions = pool.idLoadStringList(); - pool.stream() >> jsImports; -} - -void ResolvedFileContext::store(PersistentPool &pool) const -{ - pool.storeString(filePath); - pool.storeStringList(jsExtensions); - pool.stream() << jsImports; -} - -bool operator==(const ResolvedFileContext &a, const ResolvedFileContext &b) -{ - if (&a == &b) - return true; - if (!!&a != !!&b) - return false; - return a.filePath == b.filePath - && a.jsExtensions == b.jsExtensions - && a.jsImports == b.jsImports; -} - /*! * \class ScriptFunction diff --git a/src/lib/corelib/language/language.h b/src/lib/corelib/language/language.h index ef545433a..72e41548f 100644 --- a/src/lib/corelib/language/language.h +++ b/src/lib/corelib/language/language.h @@ -203,29 +203,6 @@ private: void store(PersistentPool &pool) const; }; -class ResolvedFileContext : public PersistentObject -{ -public: - static ResolvedFileContextPtr create() - { - return ResolvedFileContextPtr(new ResolvedFileContext); - } - - QString filePath; - QStringList jsExtensions; - JsImports jsImports; - -private: - ResolvedFileContext() {} - - void load(PersistentPool &pool); - void store(PersistentPool &pool) const; -}; - -bool operator==(const ResolvedFileContext &a, const ResolvedFileContext &b); -inline bool operator!=(const ResolvedFileContext &a, const ResolvedFileContext &b) -{ return !(a == b); } - class ScriptFunction : public PersistentObject { public: diff --git a/src/lib/corelib/language/language.pri b/src/lib/corelib/language/language.pri index 09d7e9a1b..c4309d585 100644 --- a/src/lib/corelib/language/language.pri +++ b/src/lib/corelib/language/language.pri @@ -27,6 +27,7 @@ HEADERS += \ $$PWD/property.h \ $$PWD/propertydeclaration.h \ $$PWD/propertymapinternal.h \ + $$PWD/resolvedfilecontext.h \ $$PWD/scriptengine.h \ $$PWD/scriptpropertyobserver.h \ $$PWD/value.h @@ -54,6 +55,7 @@ SOURCES += \ $$PWD/projectresolver.cpp \ $$PWD/propertydeclaration.cpp \ $$PWD/propertymapinternal.cpp \ + $$PWD/resolvedfilecontext.cpp \ $$PWD/scriptengine.cpp \ $$PWD/value.cpp diff --git a/src/lib/corelib/language/projectresolver.cpp b/src/lib/corelib/language/projectresolver.cpp index c2f21de07..c40a52672 100644 --- a/src/lib/corelib/language/projectresolver.cpp +++ b/src/lib/corelib/language/projectresolver.cpp @@ -36,6 +36,7 @@ #include "item.h" #include "moduleloader.h" #include "propertymapinternal.h" +#include "resolvedfilecontext.h" #include "scriptengine.h" #include <jsextensions/moduleproperties.h> #include <logging/translator.h> diff --git a/src/lib/corelib/language/resolvedfilecontext.cpp b/src/lib/corelib/language/resolvedfilecontext.cpp new file mode 100644 index 000000000..0ac48e69b --- /dev/null +++ b/src/lib/corelib/language/resolvedfilecontext.cpp @@ -0,0 +1,79 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Build Suite. +** +** 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 Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +#include "resolvedfilecontext.h" + +#include "jsimports.h" +#include <tools/persistence.h> + +namespace qbs { +namespace Internal { + +static inline QDataStream& operator>>(QDataStream &stream, JsImport &jsImport) +{ + stream >> jsImport.scopeName + >> jsImport.filePaths + >> jsImport.location; + return stream; +} + +static inline QDataStream& operator<<(QDataStream &stream, const JsImport &jsImport) +{ + return stream << jsImport.scopeName + << jsImport.filePaths + << jsImport.location; +} + +void ResolvedFileContext::load(PersistentPool &pool) +{ + filePath = pool.idLoadString(); + jsExtensions = pool.idLoadStringList(); + pool.stream() >> jsImports; +} + +void ResolvedFileContext::store(PersistentPool &pool) const +{ + pool.storeString(filePath); + pool.storeStringList(jsExtensions); + pool.stream() << jsImports; +} + +bool operator==(const ResolvedFileContext &a, const ResolvedFileContext &b) +{ + if (&a == &b) + return true; + if (!!&a != !!&b) + return false; + return a.filePath == b.filePath + && a.jsExtensions == b.jsExtensions + && a.jsImports == b.jsImports; +} + +} // namespace Internal +} // namespace qbs diff --git a/src/lib/corelib/language/resolvedfilecontext.h b/src/lib/corelib/language/resolvedfilecontext.h new file mode 100644 index 000000000..66266181e --- /dev/null +++ b/src/lib/corelib/language/resolvedfilecontext.h @@ -0,0 +1,66 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Build Suite. +** +** 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 Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +#ifndef QBS_RESOLVEDFILECONTEXT_H +#define QBS_RESOLVEDFILECONTEXT_H + +#include "forward_decls.h" +#include "jsimports.h" +#include <tools/persistentobject.h> + +namespace qbs { +namespace Internal { + +class ResolvedFileContext : public PersistentObject +{ +public: + static ResolvedFileContextPtr create() + { + return ResolvedFileContextPtr(new ResolvedFileContext); + } + + QString filePath; + QStringList jsExtensions; + JsImports jsImports; + +private: + ResolvedFileContext() {} + + void load(PersistentPool &pool); + void store(PersistentPool &pool) const; +}; + +bool operator==(const ResolvedFileContext &a, const ResolvedFileContext &b); +inline bool operator!=(const ResolvedFileContext &a, const ResolvedFileContext &b) +{ return !(a == b); } + +} // namespace Internal +} // namespace qbs + +#endif // QBS_RESOLVEDFILECONTEXT_H |