From 783f8e26a2222228f3212e80b43eea3ced8eb5cd Mon Sep 17 00:00:00 2001 From: creampnx_x <2270436024@qq.com> Date: Sat, 24 Sep 2022 15:16:01 +0800 Subject: [PATCH] fix: add unicode terminator to line comment --- boa_engine/src/syntax/lexer/comment.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/boa_engine/src/syntax/lexer/comment.rs b/boa_engine/src/syntax/lexer/comment.rs index 1e5ecdf367e..55d94dac305 100644 --- a/boa_engine/src/syntax/lexer/comment.rs +++ b/boa_engine/src/syntax/lexer/comment.rs @@ -34,12 +34,14 @@ impl Tokenizer for SingleLineComment { let _timer = Profiler::global().start_event("SingleLineComment", "Lexing"); // Skip either to the end of the line or to the end of the input - while let Some(ch) = cursor.peek()? { - if ch == b'\n' || ch == b'\r' { - break; - } - // Consume char. - cursor.next_byte()?.expect("Comment character vanished"); + while let Some(ch) = cursor.next_char()? { + let tried_ch = char::try_from(ch); + match tried_ch { + Ok(c) if c == '\r' || c == '\n' || c == '\u{2028}' || c == '\u{2029}' => { + break; + } + _ => {} + }; } Ok(Token::new( TokenKind::Comment,