Browse Source

Fix infinite loop when parsing strings

github-actions
Garrit Franke 3 years ago
parent
commit
24d20784b2
  1. 4
      examples_out/out.js
  2. 5
      src/lexer/mod.rs

4
examples_out/out.js

@ -1,6 +1,6 @@
function main() { function main() {
return; return "Hello World"
} }
function fib() { function fib() {
} }
main() console.log(main())

5
src/lexer/mod.rs

@ -288,6 +288,11 @@ impl Cursor<'_> {
loop { loop {
match self.first() { match self.first() {
'"' | '\'' => break, '"' | '\'' => break,
'\n' => panic!(
"String does not end on same line. At {}:{}",
self.pos().line,
self.pos().offset
),
_ => self.bump(), _ => self.bump(),
}; };
} }

Loading…
Cancel
Save