1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 18:37:35 +00:00

AK: Make SourceGenerator::fork() infallible

This commit is contained in:
Andreas Kling 2023-08-21 16:42:48 +02:00
parent 244516142a
commit 0b83717ea2
17 changed files with 142 additions and 142 deletions

View file

@ -349,7 +349,7 @@ public:)~~~");
IPC::Decoder decoder { stream, socket };)~~~");
for (auto const& parameter : parameters) {
auto parameter_generator = message_generator.fork().release_value_but_fixme_should_propagate_errors();
auto parameter_generator = message_generator.fork();
parameter_generator.set("parameter.type", parameter.type);
parameter_generator.set("parameter.name", parameter.name);
@ -395,7 +395,7 @@ public:)~~~");
TRY(stream.encode((int)MessageID::@message.pascal_name@));)~~~");
for (auto const& parameter : parameters) {
auto parameter_generator = message_generator.fork().release_value_but_fixme_should_propagate_errors();
auto parameter_generator = message_generator.fork();
parameter_generator.set("parameter.name", parameter.name);
parameter_generator.appendln(R"~~~(
@ -407,7 +407,7 @@ public:)~~~");
})~~~");
for (auto const& parameter : parameters) {
auto parameter_generator = message_generator.fork().release_value_but_fixme_should_propagate_errors();
auto parameter_generator = message_generator.fork();
parameter_generator.set("parameter.type", parameter.type);
parameter_generator.set("parameter.name", parameter.name);
parameter_generator.appendln(R"~~~(
@ -420,7 +420,7 @@ private:
bool m_ipc_message_valid { true };)~~~");
for (auto const& parameter : parameters) {
auto parameter_generator = message_generator.fork().release_value_but_fixme_should_propagate_errors();
auto parameter_generator = message_generator.fork();
parameter_generator.set("parameter.type", parameter.type);
parameter_generator.set("parameter.name", parameter.name);
parameter_generator.appendln(R"~~~(
@ -456,7 +456,7 @@ void do_message_for_proxy(SourceGenerator message_generator, Endpoint const& end
for (size_t i = 0; i < parameters.size(); ++i) {
auto const& parameter = parameters[i];
auto argument_generator = message_generator.fork().release_value_but_fixme_should_propagate_errors();
auto argument_generator = message_generator.fork();
argument_generator.set("argument.type", parameter.type);
argument_generator.set("argument.name", parameter.name);
argument_generator.append("@argument.type@ @argument.name@");
@ -489,7 +489,7 @@ void do_message_for_proxy(SourceGenerator message_generator, Endpoint const& end
for (size_t i = 0; i < parameters.size(); ++i) {
auto const& parameter = parameters[i];
auto argument_generator = message_generator.fork().release_value_but_fixme_should_propagate_errors();
auto argument_generator = message_generator.fork();
argument_generator.set("argument.name", parameter.name);
if (is_primitive_or_simple_type(parameters[i].type))
argument_generator.append("@argument.name@");
@ -545,15 +545,15 @@ void build_endpoint(SourceGenerator generator, Endpoint const& endpoint)
generator.appendln("\nnamespace Messages::@endpoint.name@ {");
HashMap<DeprecatedString, int> message_ids = build_message_ids_for_endpoint(generator.fork().release_value_but_fixme_should_propagate_errors(), endpoint);
HashMap<DeprecatedString, int> message_ids = build_message_ids_for_endpoint(generator.fork(), endpoint);
for (auto const& message : endpoint.messages) {
DeprecatedString response_name;
if (message.is_synchronous) {
response_name = message.response_name();
do_message(generator.fork().release_value_but_fixme_should_propagate_errors(), response_name, message.outputs);
do_message(generator.fork(), response_name, message.outputs);
}
do_message(generator.fork().release_value_but_fixme_should_propagate_errors(), message.name, message.inputs, response_name);
do_message(generator.fork(), message.name, message.inputs, response_name);
}
generator.appendln(R"~~~(
@ -570,7 +570,7 @@ public:
{ })~~~");
for (auto const& message : endpoint.messages)
do_message_for_proxy(generator.fork().release_value_but_fixme_should_propagate_errors(), endpoint, message);
do_message_for_proxy(generator.fork(), endpoint, message);
generator.appendln(R"~~~(
private:
@ -612,7 +612,7 @@ public:
for (auto const& message : endpoint.messages) {
auto do_decode_message = [&](DeprecatedString const& name) {
auto message_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
auto message_generator = generator.fork();
message_generator.set("message.name", name);
message_generator.set("message.pascal_name", pascal_case(name));
@ -656,7 +656,7 @@ public:
switch (message.message_id()) {)~~~");
for (auto const& message : endpoint.messages) {
auto do_handle_message = [&](DeprecatedString const& name, Vector<Parameter> const& parameters, bool returns_something) {
auto message_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
auto message_generator = generator.fork();
StringBuilder argument_generator;
for (size_t i = 0; i < parameters.size(); ++i) {
@ -707,7 +707,7 @@ public:
})~~~");
for (auto const& message : endpoint.messages) {
auto message_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
auto message_generator = generator.fork();
auto do_handle_message_decl = [&](DeprecatedString const& name, Vector<Parameter> const& parameters, bool is_response) {
DeprecatedString return_type = "void";
@ -733,7 +733,7 @@ public:
for (size_t i = 0; i < parameters.size(); ++i) {
auto const& parameter = parameters[i];
auto argument_generator = message_generator.fork().release_value_but_fixme_should_propagate_errors();
auto argument_generator = message_generator.fork();
argument_generator.set("argument.type", make_argument_type(parameter.type));
argument_generator.set("argument.name", parameter.name);
argument_generator.append("[[maybe_unused]] @argument.type@ @argument.name@");
@ -791,7 +791,7 @@ void build(StringBuilder& builder, Vector<Endpoint> const& endpoints)
#endif)~~~");
for (auto const& endpoint : endpoints)
build_endpoint(generator.fork().release_value_but_fixme_should_propagate_errors(), endpoint);
build_endpoint(generator.fork(), endpoint);
}
ErrorOr<int> serenity_main(Main::Arguments arguments)