aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/js_lexer_tables.zig8
-rw-r--r--src/js_parser.zig2
2 files changed, 8 insertions, 2 deletions
diff --git a/src/js_lexer_tables.zig b/src/js_lexer_tables.zig
index 7ca41ca28..dcf04573f 100644
--- a/src/js_lexer_tables.zig
+++ b/src/js_lexer_tables.zig
@@ -10,6 +10,9 @@ const ComptimeStringMap = @import("./comptime_string_map.zig").ComptimeStringMap
pub const T = enum(u8) {
t_end_of_file,
+ // close brace is here so that we can do comparisons against EOF or close brace in one branch
+ t_close_brace,
+
t_syntax_error,
// "#!/usr/bin/env node"
@@ -35,7 +38,6 @@ pub const T = enum(u8) {
t_bar,
t_bar_bar,
t_caret,
- t_close_brace,
t_close_bracket,
t_close_paren,
t_colon,
@@ -151,6 +153,10 @@ pub const T = enum(u8) {
},
}
}
+
+ pub fn isCloseBraceOrEOF(self: T) bool {
+ return @enumToInt(self) <= @enumToInt(T.t_close_brace);
+ }
};
pub const Keywords = ComptimeStringMap(T, .{
diff --git a/src/js_parser.zig b/src/js_parser.zig
index 72d75d160..abecc989c 100644
--- a/src/js_parser.zig
+++ b/src/js_parser.zig
@@ -12304,7 +12304,7 @@ fn NewParser_(
const scopeIndex = p.pushScopeForParsePass(.class_body, body_loc) catch unreachable;
var opts = PropertyOpts{ .is_class = true, .allow_ts_decorators = class_opts.allow_ts_decorators, .class_has_extends = extends != null };
- while (p.lexer.token != T.t_close_brace) {
+ while (!p.lexer.token.isCloseBraceOrEOF()) {
if (p.lexer.token == .t_semicolon) {
try p.lexer.next();
continue;