summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2013-07-11 17:56:45 +0200
committerChristian Kandeler <christian.kandeler@digia.com>2013-07-12 12:08:59 +0200
commit1429dfb4052e5fa443ee9677eef95534b436f461 (patch)
tree672459add4ccd39cb1e4ea561d203e46d77b9a12
parentcd52d86e7a871fa98ac5a4d0a3193611a0f3a51e (diff)
downloadqbs-1429dfb4052e5fa443ee9677eef95534b436f461.tar.gz
Make Loader more reusable.
JavaScript exceptions left over from previous runs could interfere with evaluation, so clean those up first. Change-Id: Id7908a1bdc3b1709fa494c13d833cf993799f566 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
-rw-r--r--src/lib/language/loader.cpp3
-rw-r--r--src/lib/language/loader.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/lib/language/loader.cpp b/src/lib/language/loader.cpp
index e9b16bb5b..52f9eee89 100644
--- a/src/lib/language/loader.cpp
+++ b/src/lib/language/loader.cpp
@@ -50,6 +50,7 @@ Loader::Loader(ScriptEngine *engine, const Logger &logger)
, m_builtins(new BuiltinDeclarations)
, m_moduleLoader(new ModuleLoader(engine, m_builtins, logger))
, m_projectResolver(new ProjectResolver(m_moduleLoader, logger))
+ , m_engine(engine)
{
}
@@ -86,6 +87,8 @@ TopLevelProjectPtr Loader::loadProject(const SetupProjectParameters &parameters)
{
QBS_CHECK(QFileInfo(parameters.projectFilePath()).isAbsolute());
+ m_engine->clearExceptions();
+
// At this point, we cannot set a sensible total effort, because we know nothing about
// the project yet. That's why we use a placeholder here, so the user at least
// sees that an operation is starting. The real total effort will be set later when
diff --git a/src/lib/language/loader.h b/src/lib/language/loader.h
index 30ecba75b..84b494fc5 100644
--- a/src/lib/language/loader.h
+++ b/src/lib/language/loader.h
@@ -63,6 +63,7 @@ private:
BuiltinDeclarations *m_builtins;
ModuleLoader *m_moduleLoader;
ProjectResolver *m_projectResolver;
+ ScriptEngine * const m_engine;
};
} // namespace Internal