aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/language
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2014-11-11 17:54:57 +0100
committerChristian Kandeler <christian.kandeler@theqtcompany.com>2014-11-12 16:42:24 +0100
commit1d24d16379df6cd8a01434a13c3fe301d44eb0d2 (patch)
tree10d3aa04a5648f13b4a720976e2f03816228e710 /src/lib/corelib/language
parentfe5ae537930d67171d71748aec1b00fb423a7962 (diff)
Fix rule comparison.
We used to just compare the source code of the prepare script, but that was too much of an optimization. Simply use the ScriptFunction's operator== (which was also missing a member comparison), everything else is a maintenance nightmare. Change-Id: I625263e8dea42cbf42624c00434032d7b7146dc9 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'src/lib/corelib/language')
-rw-r--r--src/lib/corelib/language/language.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lib/corelib/language/language.cpp b/src/lib/corelib/language/language.cpp
index 1b907975e..405c98ac2 100644
--- a/src/lib/corelib/language/language.cpp
+++ b/src/lib/corelib/language/language.cpp
@@ -301,6 +301,7 @@ bool operator==(const ScriptFunction &a, const ScriptFunction &b)
{
return a.sourceCode == b.sourceCode
&& a.location == b.location
+ && a.argumentNames == b.argumentNames
&& equals(a.fileContext.data(), b.fileContext.data());
}
@@ -1179,8 +1180,8 @@ bool operator==(const Rule &r1, const Rule &r2)
}
return r1.module->name == r2.module->name
- && r1.prepareScript->sourceCode == r2.prepareScript->sourceCode
- && r1.outputArtifactsScript->sourceCode == r2.outputArtifactsScript->sourceCode
+ && equals(r1.prepareScript.data(), r2.prepareScript.data())
+ && equals(r1.outputArtifactsScript.data(), r2.outputArtifactsScript.data())
&& r1.inputs == r2.inputs
&& r1.outputFileTags == r2.outputFileTags
&& r1.auxiliaryInputs == r2.auxiliaryInputs