aboutsummaryrefslogtreecommitdiff
path: root/src/javascript/jsc/javascript.zig
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-03-16 05:50:52 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-03-16 05:50:52 -0700
commit09a7b01ee7cc2af440c0a2a4cb685b9c7b0d1672 (patch)
tree9f70bd95847be6462c3a0a13aee9305ee099e598 /src/javascript/jsc/javascript.zig
parentfe89fc8a643635a4ecd1432dbebf9efc2779c7f0 (diff)
downloadbun-09a7b01ee7cc2af440c0a2a4cb685b9c7b0d1672.tar.gz
bun-09a7b01ee7cc2af440c0a2a4cb685b9c7b0d1672.tar.zst
bun-09a7b01ee7cc2af440c0a2a4cb685b9c7b0d1672.zip
cleanup error printing
Diffstat (limited to 'src/javascript/jsc/javascript.zig')
-rw-r--r--src/javascript/jsc/javascript.zig42
1 files changed, 15 insertions, 27 deletions
diff --git a/src/javascript/jsc/javascript.zig b/src/javascript/jsc/javascript.zig
index 9e9a8c9f8..1c6074180 100644
--- a/src/javascript/jsc/javascript.zig
+++ b/src/javascript/jsc/javascript.zig
@@ -1953,6 +1953,8 @@ pub const VirtualMachine = struct {
_ = this.ready_tasks_count.fetchSub(add, .Monotonic);
}
}
+
+ // TODO: fix this technical debt
pub fn tick(this: *EventLoop) void {
while (true) {
this.tickConcurrent();
@@ -1965,6 +1967,7 @@ pub const VirtualMachine = struct {
}
}
+ // TODO: fix this technical debt
pub fn waitForPromise(this: *EventLoop, promise: *JSC.JSInternalPromise) void {
switch (promise.status(this.global.vm())) {
JSC.JSPromise.Status.Pending => {
@@ -3304,36 +3307,21 @@ pub const VirtualMachine = struct {
writer.writeByteNTimes(' ', pad) catch unreachable;
const top = exception.stack.frames()[0];
var remainder = std.mem.trim(u8, source.text, "\n");
- if (@intCast(usize, top.position.column_stop) > remainder.len or (top.position.column_stop - top.position.column_start) <= 0) {
- writer.print(
- comptime Output.prettyFmt(
- "<r><d>{d} |<r> {s}\n",
- allow_ansi_color,
- ),
- .{ source.line, remainder },
- ) catch unreachable;
- } else {
- const prefix = remainder[0..@intCast(usize, top.position.column_start)];
- const underline = remainder[@intCast(usize, top.position.column_start)..@intCast(usize, top.position.column_stop)];
- const suffix = remainder[@intCast(usize, top.position.column_stop)..];
- writer.print(
- comptime Output.prettyFmt(
- "<r><d>{d} |<r> {s}<red>{s}<r>{s}<r>\n<r>",
- allow_ansi_color,
- ),
- .{
- source.line,
- prefix,
- underline,
- suffix,
- },
- ) catch unreachable;
+ writer.print(
+ comptime Output.prettyFmt(
+ "<r><d>{d} |<r> {s}\n",
+ allow_ansi_color,
+ ),
+ .{ source.line, remainder },
+ ) catch unreachable;
+
+ if (!top.position.isInvalid()) {
var first_non_whitespace = @intCast(u32, top.position.column_start);
while (first_non_whitespace < source.text.len and source.text[first_non_whitespace] == ' ') {
first_non_whitespace += 1;
}
- const indent = @intCast(usize, pad) + " | ".len + first_non_whitespace + 1;
+ const indent = @intCast(usize, pad) + " | ".len + first_non_whitespace;
writer.writeByteNTimes(' ', indent) catch unreachable;
writer.print(comptime Output.prettyFmt(
@@ -3514,10 +3502,10 @@ pub const EventListenerMixin = struct {
if (promise.status(vm.global.vm()) == .Rejected) {
onError(ctx, error.JSError, promise.result(vm.global.vm()), request_context) catch {};
return;
- } else {
- _ = promise.result(vm.global.vm());
}
+ _ = promise.result(vm.global.vm());
+
vm.waitForTasks();
if (request_context.has_called_done) {