swc_common = "24.0.0"
swc_ecma_ast = "27.0.0"
swc_ecma_lexer = "42.0.0"
swc_ecma_parser = "43.0.0"
as well.
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn it_works() {
use swc_common::BytePos;
use swc_ecma_ast::EsVersion;
use swc_ecma_lexer::Lexer;
use swc_ecma_parser::EsSyntax;
use swc_ecma_parser::StringInput;
use swc_ecma_parser::Syntax;
let input = StringInput::new("let a = `", BytePos(0), BytePos(1));
let lexer = Lexer::new(
Syntax::Es(EsSyntax::default()),
EsVersion::Es2020,
input,
None,
);
for token in lexer {
dbg!(token);
}
}
}
running 1 test
[src/lib.rs:23:13] token = TokenAndSpan {
token: let,
had_line_break: true,
span: 0..3,
}
[src/lib.rs:23:13] token = TokenAndSpan {
token: a,
had_line_break: false,
span: 4..5,
}
[src/lib.rs:23:13] token = TokenAndSpan {
token: =,
had_line_break: false,
span: 6..7,
}
[src/lib.rs:23:13] token = TokenAndSpan {
token: `,
had_line_break: false,
span: 8..9,
}
[src/lib.rs:23:13] token = TokenAndSpan {
token: <lexing error: Error { error: (8..9, UnterminatedTpl) }>,
had_line_break: false,
span: 9..9,
}
[src/lib.rs:23:13] token = TokenAndSpan {
token: <lexing error: Error { error: (8..9, UnterminatedTpl) }>,
had_line_break: false,
span: 9..9,
}
[src/lib.rs:23:13] token = TokenAndSpan {
token: <lexing error: Error { error: (8..9, UnterminatedTpl) }>,
had_line_break: false,
span: 9..9,
}
(and so on)
This is a regression introduced somewhere between
Reproducible as of
as well.