From 8f89c258df007490839569ab6e7cd649c6de3121 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Del=20Pino?= <stephane.delpino44@gmail.com> Date: Mon, 9 Nov 2020 11:36:15 +0100 Subject: [PATCH] Remove a bunch of spurious std::ends use These were useless and could eventually be problematic --- src/language/ast/ASTNodeDataTypeBuilder.cpp | 20 +++++++++---------- .../ast/ASTSymbolInitializationChecker.cpp | 4 ++-- .../node_processor/AffectationProcessor.hpp | 10 +++++----- .../FunctionArgumentConverter.hpp | 2 +- src/language/utils/PugsFunctionAdapter.hpp | 2 +- tests/test_AffectationToStringProcessor.cpp | 12 +++++------ tests/test_AffectationToTupleProcessor.cpp | 6 +++--- tests/test_BuildInfo.cpp | 2 +- tests/test_FunctionArgumentConverter.cpp | 2 +- tests/test_ListAffectationProcessor.cpp | 6 +++--- 10 files changed, 32 insertions(+), 34 deletions(-) diff --git a/src/language/ast/ASTNodeDataTypeBuilder.cpp b/src/language/ast/ASTNodeDataTypeBuilder.cpp index 4a56bdae9..7cbeb6adf 100644 --- a/src/language/ast/ASTNodeDataTypeBuilder.cpp +++ b/src/language/ast/ASTNodeDataTypeBuilder.cpp @@ -16,8 +16,7 @@ ASTNodeDataTypeBuilder::_buildDeclarationNodeDataTypes(ASTNode& type_node, ASTNo std::ostringstream message; message << "number of product spaces (" << type_node.children.size() << ") " << rang::fgB::yellow << type_node.string() << rang::style::reset << rang::style::bold << " differs from number of variables (" - << name_node.children.size() << ") " << rang::fgB::yellow << name_node.string() << rang::style::reset - << std::ends; + << name_node.children.size() << ") " << rang::fgB::yellow << name_node.string() << rang::style::reset; throw ParseError(message.str(), name_node.begin()); } @@ -55,7 +54,7 @@ ASTNodeDataTypeBuilder::_buildDeclarationNodeDataTypes(ASTNode& type_node, ASTNo } else if (i_type_symbol->attributes().dataType() != ASTNodeDataType::type_name_id_t) { std::ostringstream os; os << "invalid type identifier, '" << type_name_id << "' was previously defined as a '" - << dataTypeName(i_type_symbol->attributes().dataType()) << "'" << std::ends; + << dataTypeName(i_type_symbol->attributes().dataType()) << '\''; throw ParseError(os.str(), std::vector{content_node->begin()}); } @@ -92,7 +91,7 @@ ASTNodeDataTypeBuilder::_buildDeclarationNodeDataTypes(ASTNode& type_node, ASTNo } else if (i_type_symbol->attributes().dataType() != ASTNodeDataType::type_name_id_t) { std::ostringstream os; os << "invalid type identifier, '" << type_name_id << "' was previously defined as a '" - << dataTypeName(i_type_symbol->attributes().dataType()) << "'" << std::ends; + << dataTypeName(i_type_symbol->attributes().dataType()) << '\''; throw ParseError(os.str(), std::vector{type_node.begin()}); } @@ -199,7 +198,7 @@ ASTNodeDataTypeBuilder::_buildNodeDataTypes(ASTNode& n) const message << "note: number of product spaces (" << nb_parameter_domains << ") " << rang::fgB::yellow << parameters_domain_node.string() << rang::style::reset << rang::style::bold << " differs from number of variables (" << nb_parameter_names << ") " << rang::fgB::yellow - << parameters_name_node.string() << rang::style::reset << std::ends; + << parameters_name_node.string() << rang::style::reset; throw ParseError(message.str(), parameters_domain_node.begin()); } @@ -247,8 +246,7 @@ ASTNodeDataTypeBuilder::_buildNodeDataTypes(ASTNode& n) const if (image_type.dimension() != nb_image_expressions) { std::ostringstream message; message << "expecting " << image_type.dimension() << " scalar expressions or an " - << dataTypeName(image_type) << ", found " << nb_image_expressions << " scalar expressions" - << std::ends; + << dataTypeName(image_type) << ", found " << nb_image_expressions << " scalar expressions"; throw ParseError(message.str(), image_domain_node.begin()); } } else { @@ -256,7 +254,7 @@ ASTNodeDataTypeBuilder::_buildNodeDataTypes(ASTNode& n) const message << "number of image spaces (" << nb_image_domains << ") " << rang::fgB::yellow << image_domain_node.string() << rang::style::reset << rang::style::bold << " differs from number of expressions (" << nb_image_expressions << ") " << rang::fgB::yellow - << image_expression_node.string() << rang::style::reset << std::ends; + << image_expression_node.string() << rang::style::reset; throw ParseError(message.str(), image_domain_node.begin()); } } @@ -396,7 +394,7 @@ ASTNodeDataTypeBuilder::_buildNodeDataTypes(ASTNode& n) const std::ostringstream message; message << "undefined binary operator\n" << "note: incompatible operand types " << n.children[0]->string() << " (" << dataTypeName(type_0) - << ") and " << n.children[1]->string() << " (" << dataTypeName(type_1) << ')' << std::ends; + << ") and " << n.children[1]->string() << " (" << dataTypeName(type_1) << ')'; throw ParseError(message.str(), n.begin()); } } else if (n.is_type<language::function_evaluation>()) { @@ -429,7 +427,7 @@ ASTNodeDataTypeBuilder::_buildNodeDataTypes(ASTNode& n) const std::ostringstream message; message << "invalid function call\n" << "note: '" << n.children[0]->string() << "' (type: " << dataTypeName(n.children[0]->m_data_type) - << ") is not a function!" << std::ends; + << ") is not a function!"; throw ParseError(message.str(), n.begin()); } } else if (n.is_type<language::subscript_expression>()) { @@ -442,7 +440,7 @@ ASTNodeDataTypeBuilder::_buildNodeDataTypes(ASTNode& n) const std::ostringstream message; message << "invalid types '" << rang::fgB::yellow << dataTypeName(array_expression.m_data_type) << rang::style::reset << '[' << dataTypeName(index_expression.m_data_type) << ']' - << "' for array subscript" << std::ends; + << "' for array subscript"; throw ParseError(message.str(), n.begin()); } else { diff --git a/src/language/ast/ASTSymbolInitializationChecker.cpp b/src/language/ast/ASTSymbolInitializationChecker.cpp index 0e4d441fe..c37d4ba6b 100644 --- a/src/language/ast/ASTSymbolInitializationChecker.cpp +++ b/src/language/ast/ASTSymbolInitializationChecker.cpp @@ -22,7 +22,7 @@ ASTSymbolInitializationChecker::_checkSymbolInitialization(ASTNode& node) Assert(def_name_node.is_type<language::name>()); if (decl_name_node.string() != def_name_node.string()) { std::ostringstream os; - os << "invalid identifier, expecting '" << decl_name_node.string() << "'" << std::ends; + os << "invalid identifier, expecting '" << decl_name_node.string() << '\''; throw ParseError(os.str(), std::vector{def_name_node.begin()}); } }; @@ -45,7 +45,7 @@ ASTSymbolInitializationChecker::_checkSymbolInitialization(ASTNode& node) if (decl_name_list_node.children.size() != def_name_list_node.children.size()) { std::ostringstream os; os << "invalid number of definition identifiers, expecting " << decl_name_list_node.children.size() - << " found " << def_name_list_node.children.size() << std::ends; + << " found " << def_name_list_node.children.size(); throw ParseError(os.str(), std::vector{def_name_list_node.begin()}); } diff --git a/src/language/node_processor/AffectationProcessor.hpp b/src/language/node_processor/AffectationProcessor.hpp index f3f8af44f..6cdb19dfd 100644 --- a/src/language/node_processor/AffectationProcessor.hpp +++ b/src/language/node_processor/AffectationProcessor.hpp @@ -105,7 +105,7 @@ class AffectationExecutor final : public IAffectationExecutor m_lhs = std::to_string(std::get<DataT>(rhs)); } else { std::ostringstream os; - os << std::get<DataT>(rhs) << std::ends; + os << std::get<DataT>(rhs); m_lhs = os.str(); } } else { @@ -115,7 +115,7 @@ class AffectationExecutor final : public IAffectationExecutor m_lhs += std::to_string(std::get<DataT>(rhs)); } else { std::ostringstream os; - os << std::get<DataT>(rhs) << std::ends; + os << std::get<DataT>(rhs); m_lhs += os.str(); } } @@ -418,7 +418,7 @@ class AffectationToTupleProcessor final : public INodeProcessor *m_lhs = std::vector{std::move(std::to_string(v))}; } else { std::ostringstream os; - os << v << std::ends; + os << v; *m_lhs = std::vector<std::string>{os.str()}; } } else if constexpr (std::is_same_v<ValueT, TinyVector<1>> and std::is_arithmetic_v<T>) { @@ -475,7 +475,7 @@ class AffectationToTupleFromListProcessor final : public INodeProcessor tuple_value[i] = std::to_string(child_value); } else { std::ostringstream os; - os << child_value << std::ends; + os << child_value; tuple_value[i] = os.str(); } } else if constexpr (is_tiny_vector_v<ValueT>) { @@ -544,7 +544,7 @@ class AffectationToTupleFromListProcessor final : public INodeProcessor } else { for (size_t i = 0; i < values.size(); ++i) { std::ostringstream sout; - sout << values[i] << std::ends; + sout << values[i]; v[i] = sout.str(); } } diff --git a/src/language/node_processor/FunctionArgumentConverter.hpp b/src/language/node_processor/FunctionArgumentConverter.hpp index 9e7eec757..e226e5336 100644 --- a/src/language/node_processor/FunctionArgumentConverter.hpp +++ b/src/language/node_processor/FunctionArgumentConverter.hpp @@ -40,7 +40,7 @@ class FunctionArgumentToStringConverter final : public IFunctionArgumentConverte exec_policy.currentContext()[m_argument_id] = v; } else { std::ostringstream sout; - sout << value << std::ends; + sout << value; exec_policy.currentContext()[m_argument_id] = sout.str(); } }, diff --git a/src/language/utils/PugsFunctionAdapter.hpp b/src/language/utils/PugsFunctionAdapter.hpp index 489066488..17d97f509 100644 --- a/src/language/utils/PugsFunctionAdapter.hpp +++ b/src/language/utils/PugsFunctionAdapter.hpp @@ -110,7 +110,7 @@ class PugsFunctionAdapter<OutputType(InputType...)> << _getInputDataTypeName() << " -> " << dataTypeName(ast_node_data_type_from<OutputType>) << rang::style::reset << '\n' << "note: provided function " << rang::fgB::magenta << function.name() << ": " - << function.domainMappingNode().string() << rang::style::reset << std::ends; + << function.domainMappingNode().string() << rang::style::reset; throw NormalError(error_message.str()); } } diff --git a/tests/test_AffectationToStringProcessor.cpp b/tests/test_AffectationToStringProcessor.cpp index 4053e0231..c432cdd00 100644 --- a/tests/test_AffectationToStringProcessor.cpp +++ b/tests/test_AffectationToStringProcessor.cpp @@ -55,17 +55,17 @@ TEST_CASE("ASTAffectationToStringProcessor", "[language]") CHECK_AFFECTATION_RESULT(R"(let s : string; s = 2.3;)", "s", std::to_string(2.3)); { std::ostringstream os; - os << TinyVector<1>{13} << std::ends; + os << TinyVector<1>{13}; CHECK_AFFECTATION_RESULT(R"(let x : R^1, x = 13; let s : string; s = x;)", "s", os.str()); } { std::ostringstream os; - os << TinyVector<2>{2, 3} << std::ends; + os << TinyVector<2>{2, 3}; CHECK_AFFECTATION_RESULT(R"(let x : R^2, x = (2,3); let s : string; s = x;)", "s", os.str()); } { std::ostringstream os; - os << TinyVector<3>{1, 2, 3} << std::ends; + os << TinyVector<3>{1, 2, 3}; CHECK_AFFECTATION_RESULT(R"(let x : R^3, x = (1,2,3); let s : string; s = x;)", "s", os.str()); } } @@ -82,17 +82,17 @@ TEST_CASE("ASTAffectationToStringProcessor", "[language]") (std::string("foo") + std::to_string(2.3))); { std::ostringstream os; - os << "foo" << TinyVector<1>{13} << std::ends; + os << "foo" << TinyVector<1>{13}; CHECK_AFFECTATION_RESULT(R"(let x : R^1, x = 13; let s : string, s="foo"; s += x;)", "s", os.str()); } { std::ostringstream os; - os << "foo" << TinyVector<2>{2, 3} << std::ends; + os << "foo" << TinyVector<2>{2, 3}; CHECK_AFFECTATION_RESULT(R"(let x : R^2, x = (2,3); let s : string, s="foo"; s += x;)", "s", os.str()); } { std::ostringstream os; - os << "foo" << TinyVector<3>{1, 2, 3} << std::ends; + os << "foo" << TinyVector<3>{1, 2, 3}; CHECK_AFFECTATION_RESULT(R"(let x : R^3, x = (1,2,3); let s : string, s="foo"; s += x;)", "s", os.str()); } } diff --git a/tests/test_AffectationToTupleProcessor.cpp b/tests/test_AffectationToTupleProcessor.cpp index 3720bc856..963e931bb 100644 --- a/tests/test_AffectationToTupleProcessor.cpp +++ b/tests/test_AffectationToTupleProcessor.cpp @@ -65,7 +65,7 @@ let s :(string); s = 2.; const std::string x_string = []() -> std::string { std::ostringstream os; - os << TinyVector<3, double>{1, 2, 3} << std::ends; + os << TinyVector<3, double>{1, 2, 3}; return os.str(); }(); @@ -101,7 +101,7 @@ let s :(string); s = (2.,3,"foo"); const std::string x_string = []() -> std::string { std::ostringstream os; - os << TinyVector<2, double>{1, 2} << std::ends; + os << TinyVector<2, double>{1, 2}; return os.str(); }(); @@ -143,7 +143,7 @@ let t :(R^1); t = (x,2); { const std::string x_string = []() -> std::string { std::ostringstream os; - os << TinyVector<3, double>{1, 2, 3} << std::ends; + os << TinyVector<3, double>{1, 2, 3}; return os.str(); }(); diff --git a/tests/test_BuildInfo.cpp b/tests/test_BuildInfo.cpp index 335cc74e4..b63d0eb9b 100644 --- a/tests/test_BuildInfo.cpp +++ b/tests/test_BuildInfo.cpp @@ -26,7 +26,7 @@ TEST_CASE("BuildInfo", "[utils]") SECTION("compiler") { std::stringstream compiler_info; - compiler_info << PUGS_BUILD_COMPILER << " (" << PUGS_BUILD_COMPILER_VERSION << ")" << std::ends; + compiler_info << PUGS_BUILD_COMPILER << " (" << PUGS_BUILD_COMPILER_VERSION << ")"; REQUIRE(BuildInfo::compiler() == compiler_info.str()); } diff --git a/tests/test_FunctionArgumentConverter.cpp b/tests/test_FunctionArgumentConverter.cpp index e3d2ee093..dfa637bf7 100644 --- a/tests/test_FunctionArgumentConverter.cpp +++ b/tests/test_FunctionArgumentConverter.cpp @@ -20,7 +20,7 @@ TEST_CASE("FunctionArgumentConverter", "[language]") FunctionArgumentToStringConverter converter1{1}; converter1.convert(execution_policy, X); std::ostringstream os_X; - os_X << X << std::ends; + os_X << X; const double x = 3.2; FunctionArgumentToStringConverter converter2{2}; diff --git a/tests/test_ListAffectationProcessor.cpp b/tests/test_ListAffectationProcessor.cpp index e0f17e7f5..e2a091995 100644 --- a/tests/test_ListAffectationProcessor.cpp +++ b/tests/test_ListAffectationProcessor.cpp @@ -89,19 +89,19 @@ TEST_CASE("ListAffectationProcessor", "[language]") std::to_string(double{3})); { std::ostringstream os; - os << TinyVector<1>{7} << std::ends; + os << TinyVector<1>{7}; CHECK_AFFECTATION_RESULT(R"(let v:R^1, v = 7; let (x,u,s):R*R^2*string, (x,u,s) = (1.2, (2,3), v);)", "s", os.str()); } { std::ostringstream os; - os << TinyVector<2>{6, 3} << std::ends; + os << TinyVector<2>{6, 3}; CHECK_AFFECTATION_RESULT(R"(let v: R^2, v = (6,3); let (x,u,s):R*R^2*string, (x,u,s) = (1.2, (2,3), v);)", "s", os.str()); } { std::ostringstream os; - os << TinyVector<3>{1, 2, 3} << std::ends; + os << TinyVector<3>{1, 2, 3}; CHECK_AFFECTATION_RESULT(R"(let v:R^3, v = (1,2,3); let (x,u,s):R*R^2*string, (x,u,s) = (1.2, (2,3), v);)", "s", os.str()); } -- GitLab