From 896ad0d57d003d59585106c33f30fdfd29ebdb17 Mon Sep 17 00:00:00 2001 From: Martin Fischer Date: Mon, 28 Aug 2023 13:04:57 +0200 Subject: refactor: simplify Iterator impl for Tokenizer --- src/tokenizer.rs | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/tokenizer.rs b/src/tokenizer.rs index 2580144..96d1c34 100644 --- a/src/tokenizer.rs +++ b/src/tokenizer.rs @@ -313,18 +313,20 @@ where loop { if let Some(token) = self.emitter.pop_token() { return Some(Ok(token)); - } else if !self.eof { - match machine::consume(self) { - Ok(ControlToken::Continue) => (), - Ok(ControlToken::Eof) => { - self.eof = true; - self.emitter.emit_eof(); - } - Err(e) => return Some(Err(e)), - } - } else { + } + + if self.eof { return None; } + + match machine::consume(self) { + Err(e) => return Some(Err(e)), + Ok(ControlToken::Continue) => (), + Ok(ControlToken::Eof) => { + self.eof = true; + self.emitter.emit_eof(); + } + } } } } -- cgit v1.2.3