mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-06 16:45:03 +00:00
AK: Propagate errors from SourceGenerator::fork()
This commit is contained in:
@@ -261,7 +261,7 @@ void generate_lookup_table(StateMachine const& machine, SourceGenerator& generat
|
||||
)~~~");
|
||||
|
||||
auto generate_for_state = [&](State const& s) {
|
||||
auto table_generator = generator.fork();
|
||||
auto table_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
||||
table_generator.set("active_state", s.name);
|
||||
table_generator.append("/* @active_state@ */ { ");
|
||||
VERIFY(!s.name.is_empty());
|
||||
@@ -274,7 +274,7 @@ void generate_lookup_table(StateMachine const& machine, SourceGenerator& generat
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < 256; ++i) {
|
||||
auto cell_generator = table_generator.fork();
|
||||
auto cell_generator = table_generator.fork().release_value_but_fixme_should_propagate_errors();
|
||||
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@}, ");
|
||||
@@ -320,7 +320,7 @@ public:
|
||||
for (auto a : actions(machine)) {
|
||||
if (a.is_empty())
|
||||
continue;
|
||||
auto action_generator = generator.fork();
|
||||
auto action_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
||||
action_generator.set("action.name", a);
|
||||
action_generator.append(R"~~~(
|
||||
@action.name@,
|
||||
@@ -347,7 +347,7 @@ public:
|
||||
switch (m_state) {
|
||||
)~~~");
|
||||
for (auto s : machine.states) {
|
||||
auto state_generator = generator.fork();
|
||||
auto state_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
||||
if (s.exit_action.has_value()) {
|
||||
state_generator.set("state_name", s.name);
|
||||
state_generator.set("action", s.exit_action.value());
|
||||
@@ -375,7 +375,7 @@ public:
|
||||
{
|
||||
)~~~");
|
||||
for (auto state : machine.states) {
|
||||
auto state_generator = generator.fork();
|
||||
auto state_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
||||
if (state.entry_action.has_value()) {
|
||||
state_generator.set("state_name", state.name);
|
||||
state_generator.set("action", state.entry_action.value());
|
||||
@@ -399,7 +399,7 @@ private:
|
||||
)~~~");
|
||||
|
||||
for (auto s : machine.states) {
|
||||
auto state_generator = generator.fork();
|
||||
auto state_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
||||
state_generator.set("state.name", s.name);
|
||||
state_generator.append(R"~~~(
|
||||
@state.name@,
|
||||
@@ -434,7 +434,7 @@ private:
|
||||
}
|
||||
)~~~");
|
||||
|
||||
auto table_generator = generator.fork();
|
||||
auto table_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
||||
generate_lookup_table(machine, table_generator);
|
||||
generator.append(R"~~~(
|
||||
}; // end @class_name@
|
||||
|
||||
Reference in New Issue
Block a user