diff options
Diffstat (limited to '')
-rw-r--r-- | src/js_lexer.zig | 8 | ||||
-rw-r--r-- | src/js_lexer/identifier_data.zig | 8 | ||||
-rw-r--r-- | src/js_lexer_tables.zig | 15 |
3 files changed, 20 insertions, 11 deletions
diff --git a/src/js_lexer.zig b/src/js_lexer.zig index 3bbb6d165..8beb9ccd1 100644 --- a/src/js_lexer.zig +++ b/src/js_lexer.zig @@ -1884,6 +1884,14 @@ fn NewLexer_( } } + pub fn toUTF8EString(lexer: *LexerType) js_ast.E.String { + if (lexer.string_literal_is_ascii) { + return js_ast.E.String{ .utf8 = lexer.string_literal_slice }; + } else { + return js_ast.E.String{ .utf8 = lexer.utf16ToString(lexer.string_literal) }; + } + } + inline fn assertNotJSON(_: *const LexerType) void { if (comptime is_json) @compileError("JSON should not reach this point"); if (comptime is_json) unreachable; diff --git a/src/js_lexer/identifier_data.zig b/src/js_lexer/identifier_data.zig index 8be15dbab..c9c83d113 100644 --- a/src/js_lexer/identifier_data.zig +++ b/src/js_lexer/identifier_data.zig @@ -121,19 +121,19 @@ test "Check" { const id_start_cached_correct = Cache.CachedBitset{ .range = id_start_range, .len = id_start_count + 1 }; const id_continue_cached_correct = Cache.CachedBitset{ .range = id_end_range, .len = id_end_count + 1 }; try std.os.chdir(std.fs.path.dirname(@src().file).?); - var start_cached = try std.fs.cwd().openFileZ("id_start_bitset.meta.blob", .{ .read = true }); + var start_cached = try std.fs.cwd().openFileZ("id_start_bitset.meta.blob", .{ .mode = .read_only }); var start_cached_data = try start_cached.readToEndAlloc(std.heap.c_allocator, 4096); try std.testing.expectEqualSlices(u8, start_cached_data, std.mem.asBytes(&id_start_cached_correct)); - var continue_cached = try std.fs.cwd().openFileZ("id_continue_bitset.meta.blob", .{ .read = true }); + var continue_cached = try std.fs.cwd().openFileZ("id_continue_bitset.meta.blob", .{ .mode = .read_only }); var continue_cached_data = try continue_cached.readToEndAlloc(std.heap.c_allocator, 4096); try std.testing.expectEqualSlices(u8, continue_cached_data, std.mem.asBytes(&id_continue_cached_correct)); - var start_blob_file = try std.fs.cwd().openFileZ("id_start_bitset.blob", .{ .read = true }); + var start_blob_file = try std.fs.cwd().openFileZ("id_start_bitset.blob", .{ .mode = .read_only }); var start_blob_data = try start_blob_file.readToEndAlloc(std.heap.c_allocator, try start_blob_file.getEndPos()); - var continue_blob_file = try std.fs.cwd().openFileZ("id_continue_bitset.blob", .{ .read = true }); + var continue_blob_file = try std.fs.cwd().openFileZ("id_continue_bitset.blob", .{ .mode = .read_only }); var continue_blob_data = try continue_blob_file.readToEndAlloc(std.heap.c_allocator, try continue_blob_file.getEndPos()); try std.testing.expectEqualSlices(u8, start_blob_data, std.mem.asBytes(&id_start.masks)); diff --git a/src/js_lexer_tables.zig b/src/js_lexer_tables.zig index 875cf5784..9b3898aa8 100644 --- a/src/js_lexer_tables.zig +++ b/src/js_lexer_tables.zig @@ -6,6 +6,7 @@ const unicode = std.unicode; const default_allocator = @import("./global.zig").default_allocator; const string = @import("string_types.zig").string; const CodePoint = @import("string_types.zig").CodePoint; +const ComptimeStringMap = @import("./comptime_string_map.zig").ComptimeStringMap; pub const T = enum(u8) { t_end_of_file, @@ -152,7 +153,7 @@ pub const T = enum(u8) { } }; -pub const Keywords = std.ComptimeStringMap(T, .{ +pub const Keywords = ComptimeStringMap(T, .{ .{ "break", .t_break }, .{ "case", .t_case }, .{ "catch", .t_catch }, @@ -191,7 +192,7 @@ pub const Keywords = std.ComptimeStringMap(T, .{ .{ "with", .t_with }, }); -pub const StrictModeReservedWords = std.ComptimeStringMap(bool, .{ +pub const StrictModeReservedWords = ComptimeStringMap(bool, .{ .{ "implements", true }, .{ "interface", true }, .{ "let", true }, @@ -203,7 +204,7 @@ pub const StrictModeReservedWords = std.ComptimeStringMap(bool, .{ .{ "yield", true }, }); -pub const StrictModeReservedWordsRemap = std.ComptimeStringMap(string, .{ +pub const StrictModeReservedWordsRemap = ComptimeStringMap(string, .{ .{ "implements", "_implements" }, .{ "interface", "_interface" }, .{ "let", "_let" }, @@ -228,7 +229,7 @@ pub const PropertyModifierKeyword = enum { p_set, p_static, - pub const List = std.ComptimeStringMap(PropertyModifierKeyword, .{ + pub const List = ComptimeStringMap(PropertyModifierKeyword, .{ .{ "abstract", .p_abstract }, .{ "async", .p_async }, .{ "declare", .p_declare }, @@ -243,7 +244,7 @@ pub const PropertyModifierKeyword = enum { }); }; -pub const TypeScriptAccessibilityModifier = std.ComptimeStringMap(u1, .{ +pub const TypeScriptAccessibilityModifier = ComptimeStringMap(u1, .{ .{ "public", 1 }, .{ "private", 1 }, .{ "protected", 1 }, @@ -511,7 +512,7 @@ pub const TypescriptStmtKeyword = enum { ts_stmt_global, ts_stmt_declare, - pub const List = std.ComptimeStringMap(TypescriptStmtKeyword, .{ + pub const List = ComptimeStringMap(TypescriptStmtKeyword, .{ .{ "type", TypescriptStmtKeyword.ts_stmt_type, @@ -546,7 +547,7 @@ pub const TypescriptStmtKeyword = enum { pub const JSXEntityMap = std.StringHashMap(CodePoint); // Error: meta is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`. -pub const ChildlessJSXTags = std.ComptimeStringMap(void, .{ +pub const ChildlessJSXTags = ComptimeStringMap(void, .{ .{ "area", void }, .{ "base", void }, .{ "br", void }, |