| ... | @@ -535,6 +535,8 @@ pub const Tokenizer = struct { | ... | @@ -535,6 +535,8 @@ pub const Tokenizer = struct { |
| 535 | switch (self.buffer[self.index]) { | 535 | switch (self.buffer[self.index]) { |
| 536 | 0 => if (self.index == self.buffer.len) { | 536 | 0 => if (self.index == self.buffer.len) { |
| 537 | result.tag = .invalid; | 537 | result.tag = .invalid; |
| | 538 | } else { |
| | 539 | continue :state .invalid; |
| 538 | }, | 540 | }, |
| 539 | '\n' => result.tag = .invalid, | 541 | '\n' => result.tag = .invalid, |
| 540 | else => continue :state .invalid, | 542 | else => continue :state .invalid, |
| ... | @@ -1250,6 +1252,7 @@ test "invalid token characters" { | ... | @@ -1250,6 +1252,7 @@ test "invalid token characters" { |
| 1250 | | 1252 | |
| 1251 | test "invalid literal/comment characters" { | 1253 | test "invalid literal/comment characters" { |
| 1252 | try testTokenize("\"\x00\"", &.{.invalid}); | 1254 | try testTokenize("\"\x00\"", &.{.invalid}); |
| | 1255 | try testTokenize("`\x00`", &.{.invalid}); |
| 1253 | try testTokenize("//\x00", &.{.invalid}); | 1256 | try testTokenize("//\x00", &.{.invalid}); |
| 1254 | try testTokenize("//\x1f", &.{.invalid}); | 1257 | try testTokenize("//\x1f", &.{.invalid}); |
| 1255 | try testTokenize("//\x7f", &.{.invalid}); | 1258 | try testTokenize("//\x7f", &.{.invalid}); |