diff options
author | 2023-05-01 12:04:34 -0700 | |
---|---|---|
committer | 2023-05-01 12:04:34 -0700 | |
commit | 07048661f3537956b7b882c6efcf7571b11c1fab (patch) | |
tree | 3248f3fe407c5119f7c740b23764d6add9eed25a /src/js_printer.zig | |
parent | c2a223802b5a20a1f68c10d1f66797ba620e470c (diff) | |
download | bun-dylan/source-map-names-property.tar.gz bun-dylan/source-map-names-property.tar.zst bun-dylan/source-map-names-property.zip |
include `first_name_offset` in source map bufferdylan/source-map-names-property
Diffstat (limited to 'src/js_printer.zig')
-rw-r--r-- | src/js_printer.zig | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/src/js_printer.zig b/src/js_printer.zig index 718632ef6..3ba10e55e 100644 --- a/src/js_printer.zig +++ b/src/js_printer.zig @@ -1178,21 +1178,22 @@ fn NewPrinter( return; } - printer.source_map_builder.addSourceMapping(location, printer.writer.slice()); + printer.source_map_builder.addSourceMapping(location, "", printer.writer.slice()); } - // pub inline fn addSourceMappingForName(printer: *Printer, location: logger.Loc, name: string, ref: Ref) void { - // _ = location; - // if (comptime !generate_source_map) { - // return; - // } + pub inline fn addSourceMappingForName(printer: *Printer, location: logger.Loc, name: string, ref: Ref) void { + if (comptime !generate_source_map) { + return; + } - // if (printer.symbols().get(printer.symbols().follow(ref))) |symbol| { - // if (!strings.eqlLong(symbol.original_name, name)) { - // printer.source_map_builder.addSourceMapping() - // } - // } - // } + if (printer.symbols().get(printer.symbols().follow(ref))) |symbol| { + if (!strings.eqlLong(symbol.original_name, name, true)) { + printer.source_map_builder.addSourceMapping(location, symbol.original_name, printer.writer.slice()); + } else { + printer.source_map_builder.addSourceMapping(location, "", printer.writer.slice()); + } + } + } pub fn printSymbol(p: *Printer, ref: Ref) void { std.debug.assert(!ref.isNull()); @@ -3362,9 +3363,10 @@ fn NewPrinter( switch (binding.data) { .b_missing => {}, .b_identifier => |b| { + const name = p.renamer.nameForSymbol(b.ref); p.printSpaceBeforeIdentifier(); - p.addSourceMapping(binding.loc); - p.printSymbol(b.ref); + p.addSourceMappingForName(binding.loc, name, b.ref); + p.printIdentifier(name); }, .b_array => |b| { p.print("["); @@ -3459,7 +3461,8 @@ fn NewPrinter( // Use a shorthand property if the names are the same switch (property.value.data) { .b_identifier => |id| { - if (str.eql(string, p.renamer.nameForSymbol(id.ref))) { + const name = p.renamer.nameForSymbol(id.ref); + if (str.eql(string, name)) { p.maybePrintDefaultBindingValue(property); continue; } |