diff options
author | 2023-07-20 16:37:05 -0700 | |
---|---|---|
committer | 2023-07-20 16:37:05 -0700 | |
commit | 0d4c7fd06df56030443c4926e6e0142e8c189da5 (patch) | |
tree | 4199ff9596d738712d9dfec53a6110413cfbb9f5 | |
parent | 9ad330d9176604bddb58972e1cedce7a80009ddc (diff) | |
download | bun-dylan/resolve-rope-in-string.tar.gz bun-dylan/resolve-rope-in-string.tar.zst bun-dylan/resolve-rope-in-string.zip |
resolve rope in `string()`dylan/resolve-rope-in-string
-rw-r--r-- | src/js_ast.zig | 3 | ||||
-rw-r--r-- | src/js_parser.zig | 3 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/js_ast.zig b/src/js_ast.zig index b83f6c5c2..0019857d5 100644 --- a/src/js_ast.zig +++ b/src/js_ast.zig @@ -2327,8 +2327,9 @@ pub const E = struct { strings.eqlComptimeUTF16(s.slice16()[0..value.len], value); } - pub fn string(s: *const String, allocator: std.mem.Allocator) !bun.string { + pub fn string(s: *String, allocator: std.mem.Allocator) !bun.string { if (s.isUTF8()) { + s.resolveRopeIfNeeded(allocator); return s.data; } else { return strings.toUTF8Alloc(allocator, s.slice16()); diff --git a/src/js_parser.zig b/src/js_parser.zig index f5dda75f0..4c4509921 100644 --- a/src/js_parser.zig +++ b/src/js_parser.zig @@ -5141,7 +5141,6 @@ fn NewParser_( return Expr{ .data = nullExprData, .loc = arg.loc }; } - str.resolveRopeIfNeeded(p.allocator); const pathname = str.string(p.allocator) catch unreachable; const path = fs.Path.init(pathname); @@ -18866,7 +18865,7 @@ fn NewParser_( p.should_fold_typescript_constant_expressions = true; for (data.values) |*enum_value| { // gotta allocate here so it lives after this function stack frame goes poof - const name = enum_value.name; + var name = enum_value.name; var assign_target: Expr = Expr{ .loc = logger.Loc.Empty, .data = Prefill.Data.EMissing }; var has_string_value = false; |