summaryrefslogtreecommitdiff
path: root/src/buildtool/build_engine/expression/evaluator.hpp
diff options
context:
space:
mode:
authorMaksim Denisov <denisov.maksim@huawei.com>2024-10-01 10:14:34 +0200
committerMaksim Denisov <denisov.maksim@huawei.com>2024-10-07 13:37:39 +0200
commita324e341ef8097d6d93731b592701d43bb5fb5d0 (patch)
tree97f68c73f22788cc7d3d6e5ae6411f073e647308 /src/buildtool/build_engine/expression/evaluator.hpp
parent5eb83b81a26e9a321ff8d68506905eaa4f15acd7 (diff)
downloadjustbuild-a324e341ef8097d6d93731b592701d43bb5fb5d0.tar.gz
Enable modernize-* checks.
Diffstat (limited to 'src/buildtool/build_engine/expression/evaluator.hpp')
-rw-r--r--src/buildtool/build_engine/expression/evaluator.hpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/buildtool/build_engine/expression/evaluator.hpp b/src/buildtool/build_engine/expression/evaluator.hpp
index 726df568..ba9bd2ef 100644
--- a/src/buildtool/build_engine/expression/evaluator.hpp
+++ b/src/buildtool/build_engine/expression/evaluator.hpp
@@ -44,18 +44,20 @@ class Evaluator {
class EvaluationError : public std::exception {
public:
- explicit EvaluationError(std::string const& msg,
+ explicit EvaluationError(std::string msg,
bool while_eval = false,
bool user_context = false,
std::vector<ExpressionPtr> involved_objetcs =
std::vector<ExpressionPtr>{}) noexcept
- : msg_{(while_eval ? ""
- : (user_context ? "UserError: "
- : "EvaluationError: ")) +
- msg},
+ : msg_{std::move(msg)},
while_eval_{while_eval},
user_context_{user_context},
- involved_objects_{std::move(std::move(involved_objetcs))} {}
+ involved_objects_{std::move(std::move(involved_objetcs))} {
+ if (not while_eval_) {
+ msg_ = (user_context_ ? "UserError: " : "EvaluationError: ") +
+ msg_;
+ }
+ }
[[nodiscard]] auto what() const noexcept -> char const* final {
return msg_.c_str();
}