(&mut self, s: S, d: D, event: &Event)
| 1058 | } |
| 1059 | |
| 1060 | pub fn event(&mut self, s: S, d: D, event: &Event) -> io::Result<()> { |
| 1061 | let this_id = self.id.new_id(); |
| 1062 | let next_id = self.id.new_id(); |
| 1063 | self.begin_node( |
| 1064 | Node::new(event.kind.opcode(), this_id) |
| 1065 | .some_next_id((!event.body.is_empty()).then_some(next_id)) |
| 1066 | .top_level(true), |
| 1067 | )?; |
| 1068 | match &event.kind { |
| 1069 | EventKind::On { event } => self.on(event), |
| 1070 | EventKind::OnFlag => self.on_flag(), |
| 1071 | EventKind::OnKey { key, span } => self.on_key(s, d, this_id, key, span), |
| 1072 | EventKind::OnClick => self.on_click(s, d, this_id), |
| 1073 | EventKind::OnBackdrop { backdrop, span } => { |
| 1074 | self.on_backdrop(s, d, this_id, backdrop, span) |
| 1075 | } |
| 1076 | EventKind::OnLoudnessGt { value } => self.on_loudness_gt(s, d, this_id, value), |
| 1077 | EventKind::OnTimerGt { value } => self.on_timer_gt(s, d, this_id, value), |
| 1078 | EventKind::OnClone => self.on_clone(s, d, this_id), |
| 1079 | }?; |
| 1080 | self.stmts(s, d, &event.body, next_id, Some(this_id)) |
| 1081 | } |
| 1082 | |
| 1083 | pub fn stmts( |
| 1084 | &mut self, |
no test coverage detected