diff options
| author | 2023-04-09 03:16:11 -0700 | |
|---|---|---|
| committer | 2023-04-09 03:16:11 -0700 | |
| commit | eb18101d84760eafd804e92d7a8f2126c0f5fae9 (patch) | |
| tree | 37a7a5819adbe8668d7ba2db86e42a3ad52d23ad /src/js_lexer.zig | |
| parent | 2117723642c4195f45ef118b5709119811c29fbe (diff) | |
| download | bun-eb18101d84760eafd804e92d7a8f2126c0f5fae9.tar.gz bun-eb18101d84760eafd804e92d7a8f2126c0f5fae9.tar.zst bun-eb18101d84760eafd804e92d7a8f2126c0f5fae9.zip | |
Update TypeScript parsing to 5.0 (#2593)
* update syntax
* seems to work, needs tests
* This test wasn't supposed to be added
* Many bugfixes to TypeScript parser
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'src/js_lexer.zig')
| -rw-r--r-- | src/js_lexer.zig | 47 |
1 files changed, 28 insertions, 19 deletions
diff --git a/src/js_lexer.zig b/src/js_lexer.zig index da445235a..2cf2af086 100644 --- a/src/js_lexer.zig +++ b/src/js_lexer.zig @@ -1037,15 +1037,6 @@ fn NewLexer_( try lexer.next(); } }, - .t_greater_than_greater_than => { - lexer.token = .t_greater_than; - lexer.start += 1; - }, - - .t_greater_than_greater_than_greater_than => { - lexer.token = .t_greater_than_greater_than; - lexer.start += 1; - }, .t_greater_than_equals => { lexer.token = .t_equals; @@ -1054,13 +1045,25 @@ fn NewLexer_( }, .t_greater_than_greater_than_equals => { - lexer.token = .t_greater_than_greater_than; + lexer.token = .t_greater_than_equals; lexer.start += 1; }, + .t_greater_than_greater_than_greater_than_equals => { lexer.token = .t_greater_than_greater_than_equals; lexer.start += 1; }, + + .t_greater_than_greater_than => { + lexer.token = .t_greater_than; + lexer.start += 1; + }, + + .t_greater_than_greater_than_greater_than => { + lexer.token = .t_greater_than_greater_than; + lexer.start += 1; + }, + else => { try lexer.expected(.t_greater_than); }, @@ -1772,15 +1775,21 @@ fn NewLexer_( } pub fn expectedString(self: *LexerType, text: string) !void { - const found = finder: { - if (self.source.contents.len != self.start) { - break :finder self.raw(); - } else { - break :finder "end of file"; - } - }; - - try self.addRangeError(self.range(), "Expected {s} but found \"{s}\"", .{ text, found }, true); + if (self.source.contents.len != self.start) { + try self.addRangeError( + self.range(), + "Expected {s} but found \"{s}\"", + .{ text, self.raw() }, + true, + ); + } else { + try self.addRangeError( + self.range(), + "Expected {s} but found end of file", + .{text}, + true, + ); + } } fn scanCommentText(lexer: *LexerType) void { |
