diff options
5 files changed, 0 insertions, 55 deletions
diff --git a/src/buildtool/build_engine/expression/evaluator.cpp b/src/buildtool/build_engine/expression/evaluator.cpp index a768f43c..25723627 100644 --- a/src/buildtool/build_engine/expression/evaluator.cpp +++ b/src/buildtool/build_engine/expression/evaluator.cpp @@ -463,12 +463,6 @@ auto EqualExpr(SubExprEvaluator&& eval, EvalArgument(expr, "$2", eval, env)}; } -auto AddExpr(SubExprEvaluator&& eval, - ExpressionPtr const& expr, - Configuration const& env) -> ExpressionPtr { - return eval(expr["$1"], env) + eval(expr["$2"], env); -} - auto ChangeEndingExpr(SubExprEvaluator&& eval, ExpressionPtr const& expr, Configuration const& env) -> ExpressionPtr { @@ -799,7 +793,6 @@ auto const kBuiltInFunctions = {"==", EqualExpr}, {"and", AndExpr}, {"or", OrExpr}, - {"+", AddExpr}, {"++", UnaryExpr(Flatten)}, {"nub_right", UnaryExpr(NubRight)}, {"range", UnaryExpr(Range)}, diff --git a/src/buildtool/build_engine/expression/expression.hpp b/src/buildtool/build_engine/expression/expression.hpp index 52e67282..412de057 100644 --- a/src/buildtool/build_engine/expression/expression.hpp +++ b/src/buildtool/build_engine/expression/expression.hpp @@ -343,27 +343,6 @@ class Expression { [[nodiscard]] auto ComputeHash() const noexcept -> std::string; }; -[[nodiscard]] inline auto operator+(Expression const& lhs, - Expression const& rhs) -> Expression { - if (lhs.data_.index() != rhs.data_.index()) { - throw Expression::ExpressionTypeError{ - fmt::format("Cannot add expressions of different type: {} != {}", - lhs.TypeString(), - rhs.TypeString())}; - } - if (not lhs.IsList()) { - throw Expression::ExpressionTypeError{fmt::format( - "Cannot add expressions of type '{}'.", lhs.TypeString())}; - } - auto list = Expression::list_t{}; - auto const& llist = lhs.List(); - auto const& rlist = rhs.List(); - list.reserve(llist.size() + rlist.size()); - list.insert(list.begin(), llist.begin(), llist.end()); - list.insert(list.end(), rlist.begin(), rlist.end()); - return Expression{list}; -} - namespace std { template <> struct hash<Expression> { diff --git a/src/buildtool/build_engine/expression/expression_ptr.cpp b/src/buildtool/build_engine/expression/expression_ptr.cpp index 97cdb138..9d249412 100644 --- a/src/buildtool/build_engine/expression/expression_ptr.cpp +++ b/src/buildtool/build_engine/expression/expression_ptr.cpp @@ -78,11 +78,6 @@ auto ExpressionPtr::Make(linked_map_t&& map) -> ExpressionPtr { return ExpressionPtr{std::move(map)}; } -auto operator+(ExpressionPtr const& lhs, ExpressionPtr const& rhs) - -> ExpressionPtr { - return ExpressionPtr{*lhs + *rhs}; -} - auto std::hash<ExpressionPtr>::operator()(ExpressionPtr const& p) const noexcept -> std::size_t { return std::hash<Expression>{}(*p); diff --git a/src/buildtool/build_engine/expression/expression_ptr.hpp b/src/buildtool/build_engine/expression/expression_ptr.hpp index 8cc26c50..aeca6287 100644 --- a/src/buildtool/build_engine/expression/expression_ptr.hpp +++ b/src/buildtool/build_engine/expression/expression_ptr.hpp @@ -81,9 +81,6 @@ class ExpressionPtr { std::shared_ptr<Expression> ptr_; }; -[[nodiscard]] auto operator+(ExpressionPtr const& lhs, ExpressionPtr const& rhs) - -> ExpressionPtr; - namespace std { template <> struct hash<ExpressionPtr> { diff --git a/test/buildtool/build_engine/expression/expression.test.cpp b/test/buildtool/build_engine/expression/expression.test.cpp index 8db88412..d80d8861 100644 --- a/test/buildtool/build_engine/expression/expression.test.cpp +++ b/test/buildtool/build_engine/expression/expression.test.cpp @@ -715,25 +715,6 @@ TEST_CASE("Expression Evaluation", "[expression]") { // NOLINT REQUIRE_FALSE(dyn_result); } - SECTION("+ expression") { - auto expr = Expression::FromJson(R"( - { "type": "+" - , "$1": ["foo"] - , "$2": "PLACEHOLDER" })"_json); - REQUIRE(expr); - - expr = Replace(expr, "$2", list_t{bar}); - REQUIRE(expr); - auto success = expr.Evaluate(env, fcts); - REQUIRE(success); - REQUIRE(success->IsList()); - CHECK(success == Expression::FromJson(R"(["foo", "bar"])"_json)); - - expr = Replace(expr, "$2", bar); - REQUIRE(expr); - CHECK_FALSE(expr.Evaluate(env, fcts)); - } - SECTION("++ expression") { auto expr = Expression::FromJson(R"( { "type": "++" |