diff options
| author | Joerg Bornemann <joerg.bornemann@digia.com> | 2013-08-12 09:27:47 +0200 |
|---|---|---|
| committer | Christian Kandeler <christian.kandeler@digia.com> | 2013-08-12 10:17:57 +0200 |
| commit | c1c7cb2a5e6220a74f374a301e648479029f8a0e (patch) | |
| tree | 5440e65dbffe0c647cd682a0e3cc17054d08643c /src/lib/buildgraph | |
| parent | 35182b6576585f3b2f38c66350fe33a12b031f58 (diff) | |
| download | qbs-c1c7cb2a5e6220a74f374a301e648479029f8a0e.tar.gz | |
introduce Transformer::product()
Simplifies the calling code.
Remove pointless nullpointer check from jscommandexecutor.
Change-Id: I867181d2b750f32f04376ce860f5dee6555d3e33
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'src/lib/buildgraph')
| -rw-r--r-- | src/lib/buildgraph/jscommandexecutor.cpp | 5 | ||||
| -rw-r--r-- | src/lib/buildgraph/processcommandexecutor.cpp | 6 | ||||
| -rw-r--r-- | src/lib/buildgraph/transformer.cpp | 7 | ||||
| -rw-r--r-- | src/lib/buildgraph/transformer.h | 1 |
4 files changed, 11 insertions, 8 deletions
diff --git a/src/lib/buildgraph/jscommandexecutor.cpp b/src/lib/buildgraph/jscommandexecutor.cpp index b7f5b1da4..24ffb7e6e 100644 --- a/src/lib/buildgraph/jscommandexecutor.cpp +++ b/src/lib/buildgraph/jscommandexecutor.cpp @@ -79,10 +79,7 @@ public slots: m_result.errorMessage.clear(); ScriptEngine * const scriptEngine = provideScriptEngine(); QScriptValue scope = scriptEngine->newObject(); - Artifact *someOutputArtifact = *transformer->outputs.begin(); - if (!someOutputArtifact->product.isNull()) - setupScriptEngineForProduct(scriptEngine, someOutputArtifact->product, - transformer->rule, scope); + setupScriptEngineForProduct(scriptEngine, transformer->product(), transformer->rule, scope); transformer->setupInputs(scriptEngine, scope); transformer->setupOutputs(scriptEngine, scope); diff --git a/src/lib/buildgraph/processcommandexecutor.cpp b/src/lib/buildgraph/processcommandexecutor.cpp index 78f77c381..d123fe8f4 100644 --- a/src/lib/buildgraph/processcommandexecutor.cpp +++ b/src/lib/buildgraph/processcommandexecutor.cpp @@ -276,8 +276,7 @@ void ProcessCommandExecutor::removeResponseFile() QString ProcessCommandExecutor::findProcessCommandInPath() { - Artifact * const outputNode = *transformer()->outputs.begin(); - const ResolvedProductPtr product = outputNode->product; + const ResolvedProductPtr product = transformer()->product(); const ProcessCommand * const cmd = processCommand(); QString fullProgramPath = product->executablePathCache.value(cmd->program()); if (!fullProgramPath.isEmpty()) @@ -309,8 +308,7 @@ QString ProcessCommandExecutor::findProcessCommandInPath() QString ProcessCommandExecutor::findProcessCommandBySuffix() { - Artifact * const outputNode = *transformer()->outputs.begin(); - const ResolvedProductPtr product = outputNode->product; + const ResolvedProductPtr product = transformer()->product(); const ProcessCommand * const cmd = processCommand(); QString fullProgramPath = product->executablePathCache.value(cmd->program()); if (!fullProgramPath.isEmpty()) diff --git a/src/lib/buildgraph/transformer.cpp b/src/lib/buildgraph/transformer.cpp index ce6baa76c..363e08d2a 100644 --- a/src/lib/buildgraph/transformer.cpp +++ b/src/lib/buildgraph/transformer.cpp @@ -85,6 +85,13 @@ QScriptValue Transformer::translateInOutputs(QScriptEngine *scriptEngine, const return jsTagFiles; } +ResolvedProductPtr Transformer::product() const +{ + if (outputs.isEmpty()) + return ResolvedProductPtr(); + return (*outputs.begin())->product; +} + void Transformer::setupInputs(QScriptEngine *scriptEngine, QScriptValue targetScriptValue) { const QString &defaultModuleName = rule->module->name; diff --git a/src/lib/buildgraph/transformer.h b/src/lib/buildgraph/transformer.h index c9c88b6a8..d26c391ab 100644 --- a/src/lib/buildgraph/transformer.h +++ b/src/lib/buildgraph/transformer.h @@ -65,6 +65,7 @@ public: const ArtifactList &artifacts, const QString &defaultModuleName); + ResolvedProductPtr product() const; void setupInputs(QScriptEngine *scriptEngine, QScriptValue targetScriptValue); void setupOutputs(QScriptEngine *scriptEngine, QScriptValue targetScriptValue); void createCommands(const PrepareScriptConstPtr &script, |
