aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-02-05 12:04:33 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2018-02-12 15:34:53 +0000
commited8e49b64a30005e29a74656ce63a8c2cfcf5383 (patch)
tree826f95ae5e4d26424cdeaa441e01b0109124e0df /src
parentcab08a9d17cdcbb6e39f9161845a3e275199386a (diff)
Remove defaultValue argument from Evaluator::boolValue()
The few usages either made no difference or were plain wrong. In particular, it makes no sense to return a default value if the RHS of the property assignment evaluates to undefined, as "undefined" usually implies "false" for bool properties. Change-Id: I46d563712b2778ef82fa88f49a3229e451782a50 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/lib/corelib/language/evaluator.cpp7
-rw-r--r--src/lib/corelib/language/evaluator.h3
-rw-r--r--src/lib/corelib/language/moduleloader.cpp4
-rw-r--r--src/lib/corelib/language/projectresolver.cpp2
4 files changed, 6 insertions, 10 deletions
diff --git a/src/lib/corelib/language/evaluator.cpp b/src/lib/corelib/language/evaluator.cpp
index 264dfd4fc..669943f55 100644
--- a/src/lib/corelib/language/evaluator.cpp
+++ b/src/lib/corelib/language/evaluator.cpp
@@ -86,13 +86,10 @@ QScriptValue Evaluator::value(const Item *item, const QString &name, bool *prope
return v;
}
-bool Evaluator::boolValue(const Item *item, const QString &name, bool defaultValue,
+bool Evaluator::boolValue(const Item *item, const QString &name,
bool *propertyWasSet)
{
- QScriptValue v;
- if (!evaluateProperty(&v, item, name, propertyWasSet))
- return defaultValue;
- return v.toBool();
+ return value(item, name, propertyWasSet).toBool();
}
int Evaluator::intValue(const Item *item, const QString &name, int defaultValue,
diff --git a/src/lib/corelib/language/evaluator.h b/src/lib/corelib/language/evaluator.h
index f16ee4f26..ddb4940af 100644
--- a/src/lib/corelib/language/evaluator.h
+++ b/src/lib/corelib/language/evaluator.h
@@ -70,8 +70,7 @@ public:
QScriptValue property(const Item *item, const QString &name);
QScriptValue value(const Item *item, const QString &name, bool *propertySet = 0);
- bool boolValue(const Item *item, const QString &name, bool defaultValue = false,
- bool *propertyWasSet = 0);
+ bool boolValue(const Item *item, const QString &name, bool *propertyWasSet = nullptr);
int intValue(const Item *item, const QString &name, int defaultValue = 0,
bool *propertyWasSet = 0);
FileTags fileTagsValue(const Item *item, const QString &name, bool *propertySet = 0);
diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp
index 0f57de284..27c5f5dc8 100644
--- a/src/lib/corelib/language/moduleloader.cpp
+++ b/src/lib/corelib/language/moduleloader.cpp
@@ -1297,7 +1297,7 @@ void ModuleLoader::handleSubProject(ModuleLoader::ProjectContext *projectContext
loadedItem = wrapInProjectIfNecessary(loadedItem);
const bool inheritProperties = m_evaluator->boolValue(
- projectItem, StringConstants::inheritPropertiesProperty(), true);
+ projectItem, StringConstants::inheritPropertiesProperty());
if (inheritProperties)
copyProperties(projectItem->parent(), loadedItem);
@@ -3069,7 +3069,7 @@ void ModuleLoader::checkCancelation() const
bool ModuleLoader::checkItemCondition(Item *item, Item *itemToDisable)
{
- if (m_evaluator->boolValue(item, StringConstants::conditionProperty(), true))
+ if (m_evaluator->boolValue(item, StringConstants::conditionProperty()))
return true;
m_disabledItems += itemToDisable ? itemToDisable : item;
return false;
diff --git a/src/lib/corelib/language/projectresolver.cpp b/src/lib/corelib/language/projectresolver.cpp
index 9bcff9a1a..7f0c68130 100644
--- a/src/lib/corelib/language/projectresolver.cpp
+++ b/src/lib/corelib/language/projectresolver.cpp
@@ -912,7 +912,7 @@ void ProjectResolver::resolveRule(Item *item, ProjectContext *projectContext)
= m_evaluator->fileTagsValue(item, StringConstants::inputsFromDependenciesProperty());
bool requiresInputsSet = false;
rule->requiresInputs = m_evaluator->boolValue(item, StringConstants::requiresInputsProperty(),
- true, &requiresInputsSet);
+ &requiresInputsSet);
if (!requiresInputsSet)
rule->requiresInputs = rule->declaresInputs();
rule->auxiliaryInputs