From a1d694ccdce836eb4c0fdc030b4c581300c0e642 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 21 Aug 2023 16:06:29 +0200 Subject: [PATCH] AK: Remove fallible SourceGenerator::try_appendln() And fall back to the infallible appendln(). --- AK/SourceGenerator.h | 14 ++---- .../LibWeb/GenerateCSSEasingFunctions.cpp | 14 +++--- .../LibWeb/GenerateCSSEnums.cpp | 16 +++---- .../LibWeb/GenerateCSSMathFunctions.cpp | 4 +- .../LibWeb/GenerateCSSPropertyID.cpp | 48 +++++++++---------- .../LibWeb/GenerateCSSPseudoClass.cpp | 2 +- .../LibWeb/GenerateCSSTransformFunctions.cpp | 14 +++--- 7 files changed, 54 insertions(+), 58 deletions(-) diff --git a/AK/SourceGenerator.h b/AK/SourceGenerator.h index 972a22bd03..4974de596e 100644 --- a/AK/SourceGenerator.h +++ b/AK/SourceGenerator.h @@ -86,11 +86,10 @@ public: return {}; } - ErrorOr try_appendln(StringView pattern) + void appendln(StringView pattern) { - TRY(try_append(pattern)); - TRY(m_builder.try_append('\n')); - return {}; + append(pattern); + m_builder.append('\n'); } template @@ -112,9 +111,9 @@ public: } template - ErrorOr try_appendln(char const (&pattern)[N]) + void appendln(char const (&pattern)[N]) { - return try_appendln(StringView { pattern, N - 1 }); + appendln(StringView { pattern, N - 1 }); } // FIXME: These are deprecated. @@ -128,11 +127,8 @@ public: set(StringView { key, N - 1 }, value); } void append(StringView pattern) { MUST(try_append(pattern)); } - void appendln(StringView pattern) { MUST(try_appendln(pattern)); } template void append(char const (&pattern)[N]) { MUST(try_append(pattern)); } - template - void appendln(char const (&pattern)[N]) { MUST(try_appendln(pattern)); } private: StringBuilder& m_builder; diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSEasingFunctions.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSEasingFunctions.cpp index 200c87ef62..51737ea4a1 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSEasingFunctions.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSEasingFunctions.cpp @@ -55,17 +55,17 @@ namespace Web::CSS { )~~~")); - TRY(generator.try_appendln("enum class EasingFunction {")); + generator.appendln("enum class EasingFunction {"); TRY(easing_data.try_for_each_member([&](auto& name, auto&) -> ErrorOr { auto member_generator = TRY(generator.fork()); member_generator.set("name:titlecase", TRY(title_casify(name))); - TRY(member_generator.try_appendln(" @name:titlecase@,")); + member_generator.appendln(" @name:titlecase@,"); return {}; })); - TRY(generator.try_appendln("};")); + generator.appendln("};"); - TRY(generator.try_appendln("Optional easing_function_from_string(StringView);")); - TRY(generator.try_appendln("StringView to_string(EasingFunction);")); + generator.appendln("Optional easing_function_from_string(StringView);"); + generator.appendln("StringView to_string(EasingFunction);"); TRY(generator.try_append(R"~~~( enum class EasingFunctionParameterType { @@ -86,7 +86,7 @@ struct EasingFunctionMetadata { EasingFunctionMetadata easing_function_metadata(EasingFunction); )~~~")); - TRY(generator.try_appendln("\n}")); + generator.appendln("\n}"); TRY(file.write_until_depleted(generator.as_string_view().bytes())); return {}; @@ -212,7 +212,7 @@ EasingFunctionMetadata easing_function_metadata(EasingFunction easing_function) } )~~~")); - TRY(generator.try_appendln("\n}")); + generator.appendln("\n}"); TRY(file.write_until_depleted(generator.as_string_view().bytes())); return {}; diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSEnums.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSEnums.cpp index a43cfb4f61..d5fb90a573 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSEnums.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSEnums.cpp @@ -74,7 +74,7 @@ enum class ValueID; enum_generator.set("enum_type", "u64"_string); } - TRY(enum_generator.try_appendln("enum class @name:titlecase@ : @enum_type@ {")); + enum_generator.appendln("enum class @name:titlecase@ : @enum_type@ {"); for (auto& member : members.values()) { auto member_name = member.to_deprecated_string(); @@ -83,18 +83,18 @@ enum class ValueID; continue; auto member_generator = TRY(enum_generator.fork()); member_generator.set("member:titlecase", TRY(title_casify(member_name))); - TRY(member_generator.try_appendln(" @member:titlecase@,")); + member_generator.appendln(" @member:titlecase@,"); } - TRY(enum_generator.try_appendln("};")); - TRY(enum_generator.try_appendln("Optional<@name:titlecase@> value_id_to_@name:snakecase@(ValueID);")); - TRY(enum_generator.try_appendln("ValueID to_value_id(@name:titlecase@);")); - TRY(enum_generator.try_appendln("StringView to_string(@name:titlecase@);")); + enum_generator.appendln("};"); + enum_generator.appendln("Optional<@name:titlecase@> value_id_to_@name:snakecase@(ValueID);"); + enum_generator.appendln("ValueID to_value_id(@name:titlecase@);"); + enum_generator.appendln("StringView to_string(@name:titlecase@);"); TRY(enum_generator.try_append("\n")); return {}; })); - TRY(generator.try_appendln("}")); + generator.appendln("}"); TRY(file.write_until_depleted(generator.as_string_view().bytes())); return {}; @@ -199,7 +199,7 @@ StringView to_string(@name:titlecase@ value) return {}; })); - TRY(generator.try_appendln("}")); + generator.appendln("}"); TRY(file.write_until_depleted(generator.as_string_view().bytes())); return {}; diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSMathFunctions.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSMathFunctions.cpp index 2551242774..8d07f4b9cf 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSMathFunctions.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSMathFunctions.cpp @@ -56,7 +56,7 @@ enum class MathFunction { TRY(functions_data.try_for_each_member([&](auto& name, auto&) -> ErrorOr { auto member_generator = TRY(generator.fork()); member_generator.set("name:titlecase", TRY(title_casify(name))); - TRY(member_generator.try_appendln(" @name:titlecase@,"sv)); + member_generator.appendln(" @name:titlecase@,"sv); return {}; })); @@ -157,7 +157,7 @@ OwnPtr Parser::parse_math_function(PropertyID property_id, Func auto function_generator = TRY(generator.fork()); function_generator.set("name:lowercase", TRY(String::from_deprecated_string(name))); function_generator.set("name:titlecase", TRY(title_casify(name))); - TRY(function_generator.try_appendln(" if (function.name().equals_ignoring_ascii_case(\"@name:lowercase@\"sv)) {")); + function_generator.appendln(" if (function.name().equals_ignoring_ascii_case(\"@name:lowercase@\"sv)) {"); if (function_data.get_bool("is-variadic"sv).value_or(false)) { // Variadic function TRY(function_generator.try_append(R"~~~( diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSPropertyID.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSPropertyID.cpp index f6b4b1b1b6..83d2b53150 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSPropertyID.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSPropertyID.cpp @@ -270,7 +270,7 @@ bool property_accepts_@css_type_name@(PropertyID property_id, [[maybe_unused]] @ max_value_string = {}; if (min_value_string.is_empty() && max_value_string.is_empty()) { - TRY(property_generator.try_appendln("true;")); + property_generator.appendln("true;"); break; } @@ -302,9 +302,9 @@ bool property_accepts_@css_type_name@(PropertyID property_id, [[maybe_unused]] @ TRY(property_generator.try_append(" && ")); if (!max_value_string.is_empty()) TRY(output_check(max_value_string, "<="sv)); - TRY(property_generator.try_appendln(";")); + property_generator.appendln(";"); } else { - TRY(property_generator.try_appendln("true;")); + property_generator.appendln("true;"); } break; } @@ -616,39 +616,39 @@ bool property_accepts_type(PropertyID property_id, ValueType value_type) continue; if (type_name == "angle") { - TRY(property_generator.try_appendln(" case ValueType::Angle:")); + property_generator.appendln(" case ValueType::Angle:"); } else if (type_name == "color") { - TRY(property_generator.try_appendln(" case ValueType::Color:")); + property_generator.appendln(" case ValueType::Color:"); } else if (type_name == "custom-ident") { - TRY(property_generator.try_appendln(" case ValueType::CustomIdent:")); + property_generator.appendln(" case ValueType::CustomIdent:"); } else if (type_name == "easing-function") { - TRY(property_generator.try_appendln(" case ValueType::EasingFunction:")); + property_generator.appendln(" case ValueType::EasingFunction:"); } else if (type_name == "frequency") { - TRY(property_generator.try_appendln(" case ValueType::Frequency:")); + property_generator.appendln(" case ValueType::Frequency:"); } else if (type_name == "image") { - TRY(property_generator.try_appendln(" case ValueType::Image:")); + property_generator.appendln(" case ValueType::Image:"); } else if (type_name == "integer") { - TRY(property_generator.try_appendln(" case ValueType::Integer:")); + property_generator.appendln(" case ValueType::Integer:"); } else if (type_name == "length") { - TRY(property_generator.try_appendln(" case ValueType::Length:")); + property_generator.appendln(" case ValueType::Length:"); } else if (type_name == "number") { - TRY(property_generator.try_appendln(" case ValueType::Number:")); + property_generator.appendln(" case ValueType::Number:"); } else if (type_name == "paint") { - TRY(property_generator.try_appendln(" case ValueType::Paint:")); + property_generator.appendln(" case ValueType::Paint:"); } else if (type_name == "percentage") { - TRY(property_generator.try_appendln(" case ValueType::Percentage:")); + property_generator.appendln(" case ValueType::Percentage:"); } else if (type_name == "ratio") { - TRY(property_generator.try_appendln(" case ValueType::Ratio:")); + property_generator.appendln(" case ValueType::Ratio:"); } else if (type_name == "rect") { - TRY(property_generator.try_appendln(" case ValueType::Rect:")); + property_generator.appendln(" case ValueType::Rect:"); } else if (type_name == "resolution") { - TRY(property_generator.try_appendln(" case ValueType::Resolution:")); + property_generator.appendln(" case ValueType::Resolution:"); } else if (type_name == "string") { - TRY(property_generator.try_appendln(" case ValueType::String:")); + property_generator.appendln(" case ValueType::String:"); } else if (type_name == "time") { - TRY(property_generator.try_appendln(" case ValueType::Time:")); + property_generator.appendln(" case ValueType::Time:"); } else if (type_name == "url") { - TRY(property_generator.try_appendln(" case ValueType::Url:")); + property_generator.appendln(" case ValueType::Url:"); } else { VERIFY_NOT_REACHED(); } @@ -656,7 +656,7 @@ bool property_accepts_type(PropertyID property_id, ValueType value_type) } if (did_output_accepted_type) - TRY(property_generator.try_appendln(" return true;")); + property_generator.appendln(" return true;"); TRY(property_generator.try_append(R"~~~( default: @@ -683,15 +683,15 @@ bool property_accepts_identifier(PropertyID property_id, ValueID identifier) auto property_generator = TRY(generator.fork()); property_generator.set("name:titlecase", TRY(title_casify(name))); - TRY(property_generator.try_appendln(" case PropertyID::@name:titlecase@: {")); + property_generator.appendln(" case PropertyID::@name:titlecase@: {"); if (auto maybe_valid_identifiers = object.get_array("valid-identifiers"sv); maybe_valid_identifiers.has_value() && !maybe_valid_identifiers->is_empty()) { - TRY(property_generator.try_appendln(" switch (identifier) {")); + property_generator.appendln(" switch (identifier) {"); auto& valid_identifiers = maybe_valid_identifiers.value(); for (auto& identifier : valid_identifiers.values()) { auto identifier_generator = TRY(generator.fork()); identifier_generator.set("identifier:titlecase", TRY(title_casify(identifier.as_string()))); - TRY(identifier_generator.try_appendln(" case ValueID::@identifier:titlecase@:")); + identifier_generator.appendln(" case ValueID::@identifier:titlecase@:"); } TRY(property_generator.try_append(R"~~~( return true; diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSPseudoClass.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSPseudoClass.cpp index ca9aec0b4f..348d9042cd 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSPseudoClass.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSPseudoClass.cpp @@ -57,7 +57,7 @@ enum class PseudoClass { auto member_generator = TRY(generator.fork()); member_generator.set("name:titlecase", TRY(title_casify(name))); - TRY(member_generator.try_appendln(" @name:titlecase@,")); + member_generator.appendln(" @name:titlecase@,"); return {}; })); TRY(generator.try_append(R"~~~( diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSTransformFunctions.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSTransformFunctions.cpp index b473aa82cb..5b7da4bc2e 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSTransformFunctions.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSTransformFunctions.cpp @@ -64,17 +64,17 @@ namespace Web::CSS { )~~~")); - TRY(generator.try_appendln("enum class TransformFunction {")); + generator.appendln("enum class TransformFunction {"); TRY(transforms_data.try_for_each_member([&](auto& name, auto&) -> ErrorOr { auto member_generator = TRY(generator.fork()); member_generator.set("name:titlecase", TRY(title_casify_transform_function(name))); - TRY(member_generator.try_appendln(" @name:titlecase@,")); + member_generator.appendln(" @name:titlecase@,"); return {}; })); - TRY(generator.try_appendln("};")); + generator.appendln("};"); - TRY(generator.try_appendln("Optional transform_function_from_string(StringView);")); - TRY(generator.try_appendln("StringView to_string(TransformFunction);")); + generator.appendln("Optional transform_function_from_string(StringView);"); + generator.appendln("StringView to_string(TransformFunction);"); TRY(generator.try_append(R"~~~( enum class TransformFunctionParameterType { @@ -95,7 +95,7 @@ struct TransformFunctionMetadata { TransformFunctionMetadata transform_function_metadata(TransformFunction); )~~~")); - TRY(generator.try_appendln("\n}")); + generator.appendln("\n}"); TRY(file.write_until_depleted(generator.as_string_view().bytes())); return {}; @@ -208,7 +208,7 @@ TransformFunctionMetadata transform_function_metadata(TransformFunction transfor } )~~~")); - TRY(generator.try_appendln("\n}")); + generator.appendln("\n}"); TRY(file.write_until_depleted(generator.as_string_view().bytes())); return {};