diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2017-01-10 12:16:19 +0100 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2017-01-11 14:28:07 +0000 |
commit | 09665e1a83f542250ba3a74c9c3f3b0db25c5aee (patch) | |
tree | c1b36857b2009ca63acf1dd7a986acd8a4c9bb76 /src/lib/corelib/buildgraph/transformer.cpp | |
parent | 02b222e6bf6da236bc11823c710e6da547922713 (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.cpp | 17 |
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(), |