AK: Make SourceGenerator::fork() infallible

This commit is contained in:
Andreas Kling 2023-08-21 16:42:48 +02:00
parent 244516142a
commit 0b83717ea2
Notes: sideshowbarker 2024-07-17 06:35:23 +09:00
17 changed files with 142 additions and 142 deletions

View file

@ -267,7 +267,7 @@ void generate_lookup_table(StateMachine const& machine, SourceGenerator& generat
)~~~");
auto generate_for_state = [&](State const& s) {
auto table_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
auto table_generator = generator.fork();
table_generator.set("active_state", s.name);
table_generator.append("/* @active_state@ */ { ");
VERIFY(!s.name.is_empty());
@ -280,7 +280,7 @@ void generate_lookup_table(StateMachine const& machine, SourceGenerator& generat
}
}
for (int i = 0; i < 256; ++i) {
auto cell_generator = table_generator.fork().release_value_but_fixme_should_propagate_errors();
auto cell_generator = table_generator.fork();
cell_generator.set("cell_new_state", row[i].new_state.value_or(s.name));
cell_generator.set("cell_action", row[i].action.value_or("_Ignore"));
cell_generator.append(" {State::@cell_new_state@, Action::@cell_action@}, ");
@ -326,7 +326,7 @@ public:
for (auto a : actions(machine)) {
if (a.is_empty())
continue;
auto action_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
auto action_generator = generator.fork();
action_generator.set("action.name", a);
action_generator.append(R"~~~(
@action.name@,
@ -353,7 +353,7 @@ public:
switch (m_state) {
)~~~");
for (auto s : machine.states) {
auto state_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
auto state_generator = generator.fork();
if (s.exit_action.has_value()) {
state_generator.set("state_name", s.name);
state_generator.set("action", s.exit_action.value());
@ -381,7 +381,7 @@ public:
{
)~~~");
for (auto state : machine.states) {
auto state_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
auto state_generator = generator.fork();
if (state.entry_action.has_value()) {
state_generator.set("state_name", state.name);
state_generator.set("action", state.entry_action.value());
@ -405,7 +405,7 @@ private:
)~~~");
for (auto s : machine.states) {
auto state_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
auto state_generator = generator.fork();
state_generator.set("state.name", s.name);
state_generator.append(R"~~~(
@state.name@,
@ -440,7 +440,7 @@ private:
}
)~~~");
auto table_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
auto table_generator = generator.fork();
generate_lookup_table(machine, table_generator);
generator.append(R"~~~(
}; // end @class_name@