summaryrefslogtreecommitdiff
path: root/src/buildtool/build_engine/expression/evaluator.cpp
diff options
context:
space:
mode:
authorKlaus Aehlig <klaus.aehlig@huawei.com>2024-04-23 12:35:39 +0200
committerKlaus Aehlig <klaus.aehlig@huawei.com>2024-04-24 12:30:09 +0200
commiteb085c33aba12a332c3ee8e73d26a241a6996c41 (patch)
treef0bf5cffd3fd04c64d26c5c4d821deb0bde59114 /src/buildtool/build_engine/expression/evaluator.cpp
parent14b93071eca21c69b635bd77eb68057b2906ddab (diff)
downloadjustbuild-eb085c33aba12a332c3ee8e73d26a241a6996c41.tar.gz
expressions: for "if" expressions, make both branches optional
... using, also for the "then" branch, the empty list as default. In this way, this statement not only more symmetric, but also allows shorter representations of some typical expressions.
Diffstat (limited to 'src/buildtool/build_engine/expression/evaluator.cpp')
-rw-r--r--src/buildtool/build_engine/expression/evaluator.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/buildtool/build_engine/expression/evaluator.cpp b/src/buildtool/build_engine/expression/evaluator.cpp
index 11299bb5..d53259ba 100644
--- a/src/buildtool/build_engine/expression/evaluator.cpp
+++ b/src/buildtool/build_engine/expression/evaluator.cpp
@@ -495,7 +495,7 @@ auto IfExpr(SubExprEvaluator&& eval,
ExpressionPtr const& expr,
Configuration const& env) -> ExpressionPtr {
if (ValueIsTrue(EvalArgument(expr, "cond", eval, env))) {
- return EvalArgument(expr, "then", eval, env);
+ return eval(expr->Get("then", list_t{}), env);
}
return eval(expr->Get("else", list_t{}), env);
}