aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2014-02-28 10:18:05 +0100
committerChristian Kandeler <christian.kandeler@digia.com>2014-02-28 15:32:52 +0100
commita6e78bdebcacbe823114ffa03999c5bf1c28242f (patch)
treef38722f883c28e92aca57fe8914d6eefb248c026 /src
parent0f76f56e9f4f11b118c10cfcad1f21bf2e80f759 (diff)
store search paths in file context
This will be needed for loading extensions from JS files. Change-Id: I1810a5d6afc0427904c2b7502ff4dc91e9507a48 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/lib/corelib/language/filecontextbase.cpp1
-rw-r--r--src/lib/corelib/language/filecontextbase.h14
-rw-r--r--src/lib/corelib/language/itemreaderastvisitor.cpp1
-rw-r--r--src/lib/corelib/language/resolvedfilecontext.cpp2
-rw-r--r--src/lib/corelib/tools/persistence.cpp2
5 files changed, 19 insertions, 1 deletions
diff --git a/src/lib/corelib/language/filecontextbase.cpp b/src/lib/corelib/language/filecontextbase.cpp
index c6e77b1bc..52d16bd23 100644
--- a/src/lib/corelib/language/filecontextbase.cpp
+++ b/src/lib/corelib/language/filecontextbase.cpp
@@ -43,6 +43,7 @@ FileContextBase::FileContextBase(const FileContextBase &other)
: m_filePath(other.m_filePath)
, m_jsImports(other.m_jsImports)
, m_jsExtensions(other.m_jsExtensions)
+ , m_searchPaths(other.m_searchPaths)
{
}
diff --git a/src/lib/corelib/language/filecontextbase.h b/src/lib/corelib/language/filecontextbase.h
index 3a465ffaa..d56692d8e 100644
--- a/src/lib/corelib/language/filecontextbase.h
+++ b/src/lib/corelib/language/filecontextbase.h
@@ -49,6 +49,9 @@ public:
void setJsExtensions(const QStringList &extensions);
QStringList jsExtensions() const;
+ void setSearchPaths(const QStringList &paths);
+ QStringList searchPaths() const;
+
QString dirPath() const;
protected:
@@ -58,6 +61,7 @@ protected:
QString m_filePath;
JsImports m_jsImports;
QStringList m_jsExtensions;
+ QStringList m_searchPaths;
};
inline void FileContextBase::setFilePath(const QString &filePath)
@@ -90,6 +94,16 @@ inline QStringList FileContextBase::jsExtensions() const
return m_jsExtensions;
}
+inline void FileContextBase::setSearchPaths(const QStringList &paths)
+{
+ m_searchPaths = paths;
+}
+
+inline QStringList FileContextBase::searchPaths() const
+{
+ return m_searchPaths;
+}
+
} // namespace Internal
} // namespace qbs
diff --git a/src/lib/corelib/language/itemreaderastvisitor.cpp b/src/lib/corelib/language/itemreaderastvisitor.cpp
index dda6855e3..40ec5050c 100644
--- a/src/lib/corelib/language/itemreaderastvisitor.cpp
+++ b/src/lib/corelib/language/itemreaderastvisitor.cpp
@@ -68,6 +68,7 @@ bool ItemReaderASTVisitor::visit(AST::UiProgram *ast)
m_sourceValue.clear();
m_file = FileContext::create();
m_file->m_filePath = m_filePath;
+ m_file->m_searchPaths = m_reader->searchPaths();
if (Q_UNLIKELY(!ast->members->member))
throw ErrorInfo(Tr::tr("No root item found in %1.").arg(m_filePath));
diff --git a/src/lib/corelib/language/resolvedfilecontext.cpp b/src/lib/corelib/language/resolvedfilecontext.cpp
index bf36b4e79..50cf241ed 100644
--- a/src/lib/corelib/language/resolvedfilecontext.cpp
+++ b/src/lib/corelib/language/resolvedfilecontext.cpp
@@ -59,6 +59,7 @@ void ResolvedFileContext::load(PersistentPool &pool)
{
m_filePath = pool.idLoadString();
m_jsExtensions = pool.idLoadStringList();
+ m_searchPaths = pool.idLoadStringList();
pool.stream() >> m_jsImports;
}
@@ -66,6 +67,7 @@ void ResolvedFileContext::store(PersistentPool &pool) const
{
pool.storeString(m_filePath);
pool.storeStringList(m_jsExtensions);
+ pool.storeStringList(m_searchPaths);
pool.stream() << m_jsImports;
}
diff --git a/src/lib/corelib/tools/persistence.cpp b/src/lib/corelib/tools/persistence.cpp
index a01d35b46..bea21b4e9 100644
--- a/src/lib/corelib/tools/persistence.cpp
+++ b/src/lib/corelib/tools/persistence.cpp
@@ -40,7 +40,7 @@
namespace qbs {
namespace Internal {
-static const char QBS_PERSISTENCE_MAGIC[] = "QBSPERSISTENCE-65";
+static const char QBS_PERSISTENCE_MAGIC[] = "QBSPERSISTENCE-66";
PersistentPool::PersistentPool(const Logger &logger) : m_logger(logger)
{