aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/buildgraph/transformer.cpp
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2017-01-10 12:16:19 +0100
committerJoerg Bornemann <joerg.bornemann@qt.io>2017-01-11 14:28:07 +0000
commit09665e1a83f542250ba3a74c9c3f3b0db25c5aee (patch)
treec1b36857b2009ca63acf1dd7a986acd8a4c9bb76 /src/lib/corelib/buildgraph/transformer.cpp
parent02b222e6bf6da236bc11823c710e6da547922713 (diff)
Clean up usage of ScriptEngine in Transformer
Consistently use ScriptEngine instead of QScriptEngine everywhere, and directly pass ScriptEngine to Transformer::createCommands to remove unneeded knowledge of the RulesEvaluationContext from Transformer. Change-Id: Ib043746746cb5993d4c6b3813f34415a41ff81f7 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/lib/corelib/buildgraph/transformer.cpp')
-rw-r--r--src/lib/corelib/buildgraph/transformer.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/lib/corelib/buildgraph/transformer.cpp b/src/lib/corelib/buildgraph/transformer.cpp
index c6e40d18d..e3f852015 100644
--- a/src/lib/corelib/buildgraph/transformer.cpp
+++ b/src/lib/corelib/buildgraph/transformer.cpp
@@ -40,7 +40,6 @@
#include "artifact.h"
#include "rulecommands.h"
-#include "rulesevaluationcontext.h"
#include <jsextensions/moduleproperties.h>
#include <language/language.h>
#include <language/scriptengine.h>
@@ -105,7 +104,8 @@ static void setArtifactProperty(QScriptValue &obj, const QString &name,
QScriptValue::PropertyGetter);
}
-QScriptValue Transformer::translateFileConfig(QScriptEngine *scriptEngine, Artifact *artifact, const QString &defaultModuleName)
+QScriptValue Transformer::translateFileConfig(ScriptEngine *scriptEngine, Artifact *artifact,
+ const QString &defaultModuleName)
{
QScriptValue obj = scriptEngine->newObject();
attachPointerTo(obj, artifact);
@@ -127,7 +127,9 @@ static bool compareByFilePath(const Artifact *a1, const Artifact *a2)
return a1->filePath() < a2->filePath();
}
-QScriptValue Transformer::translateInOutputs(QScriptEngine *scriptEngine, const ArtifactSet &artifacts, const QString &defaultModuleName)
+QScriptValue Transformer::translateInOutputs(ScriptEngine *scriptEngine,
+ const ArtifactSet &artifacts,
+ const QString &defaultModuleName)
{
typedef QMap<QString, QList<Artifact*> > TagArtifactsMap;
TagArtifactsMap tagArtifactsMap;
@@ -161,7 +163,7 @@ ResolvedProductPtr Transformer::product() const
void Transformer::setupInputs(QScriptValue targetScriptValue, const ArtifactSet &inputs,
const QString &defaultModuleName)
{
- QScriptEngine *const scriptEngine = targetScriptValue.engine();
+ ScriptEngine *const scriptEngine = static_cast<ScriptEngine *>(targetScriptValue.engine());
QScriptValue scriptValue = translateInOutputs(scriptEngine, inputs, defaultModuleName);
targetScriptValue.setProperty(QLatin1String("inputs"), scriptValue);
QScriptValue inputScriptValue;
@@ -180,7 +182,7 @@ void Transformer::setupInputs(QScriptValue targetScriptValue)
setupInputs(targetScriptValue, inputs, rule->module->name);
}
-void Transformer::setupOutputs(QScriptEngine *scriptEngine, QScriptValue targetScriptValue)
+void Transformer::setupOutputs(ScriptEngine *scriptEngine, QScriptValue targetScriptValue)
{
const QString &defaultModuleName = rule->module->name;
QScriptValue scriptValue = translateInOutputs(scriptEngine, outputs, defaultModuleName);
@@ -212,10 +214,9 @@ static AbstractCommandPtr createCommandFromScriptValue(const QScriptValue &scrip
return cmdBase;
}
-void Transformer::createCommands(const ScriptFunctionConstPtr &script,
- const RulesEvaluationContextPtr &evalContext, const QScriptValueList &args)
+void Transformer::createCommands(ScriptEngine *engine, const ScriptFunctionConstPtr &script,
+ const QScriptValueList &args)
{
- ScriptEngine * const engine = evalContext->engine();
if (!script->scriptFunction.isValid() || script->scriptFunction.engine() != engine) {
script->scriptFunction = engine->evaluate(script->sourceCode,
script->location.filePath(),