mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 05:08:13 +00:00
AK: Propagate errors from SourceGenerator::fork()
This commit is contained in:
parent
540cc42618
commit
8e53e5afc4
12 changed files with 136 additions and 129 deletions
|
@ -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@
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue