diff options
Diffstat (limited to 'src/buildtool/build_engine/expression/evaluator.cpp')
-rw-r--r-- | src/buildtool/build_engine/expression/evaluator.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/buildtool/build_engine/expression/evaluator.cpp b/src/buildtool/build_engine/expression/evaluator.cpp index a14b367f..e573bf36 100644 --- a/src/buildtool/build_engine/expression/evaluator.cpp +++ b/src/buildtool/build_engine/expression/evaluator.cpp @@ -228,6 +228,7 @@ auto Join(ExpressionPtr const& expr, std::string const& sep) -> ExpressionPtr { } template <bool kDisjoint = false> +// NOLINTNEXTLINE(misc-no-recursion) auto Union(Expression::list_t const& dicts, size_t from, size_t to) -> ExpressionPtr { if (to <= from) { @@ -786,7 +787,7 @@ auto AssertNonEmptyExpr(SubExprEvaluator&& eval, throw Evaluator::EvaluationError(ss.str(), false, true); } -auto built_in_functions = +auto const kBuiltInFunctions = FunctionMap::MakePtr({{"var", VarExpr}, {"if", IfExpr}, {"cond", CondExpr}, @@ -883,7 +884,7 @@ auto Evaluator::EvaluateExpression( return Evaluate( expr, env, - FunctionMap::MakePtr(built_in_functions, provider_functions)); + FunctionMap::MakePtr(kBuiltInFunctions, provider_functions)); } catch (EvaluationError const& ex) { if (ex.UserContext()) { try { @@ -910,6 +911,7 @@ auto Evaluator::EvaluateExpression( return ExpressionPtr{nullptr}; } +// NOLINTNEXTLINE(misc-no-recursion) auto Evaluator::Evaluate(ExpressionPtr const& expr, Configuration const& env, FunctionMapPtr const& functions) -> ExpressionPtr { @@ -923,6 +925,7 @@ auto Evaluator::Evaluate(ExpressionPtr const& expr, expr->List().cbegin(), expr->List().cend(), std::back_inserter(list), + // NOLINTNEXTLINE(misc-no-recursion) [&](auto const& e) { return Evaluate(e, env, functions); }); return ExpressionPtr{list}; } |