diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2018-02-05 12:04:33 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2018-02-12 15:34:53 +0000 |
commit | ed8e49b64a30005e29a74656ce63a8c2cfcf5383 (patch) | |
tree | 826f95ae5e4d26424cdeaa441e01b0109124e0df /src | |
parent | cab08a9d17cdcbb6e39f9161845a3e275199386a (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.cpp | 7 | ||||
-rw-r--r-- | src/lib/corelib/language/evaluator.h | 3 | ||||
-rw-r--r-- | src/lib/corelib/language/moduleloader.cpp | 4 | ||||
-rw-r--r-- | src/lib/corelib/language/projectresolver.cpp | 2 |
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 |