diff options
author | 2021-05-01 01:28:40 -0700 | |
---|---|---|
committer | 2021-05-01 01:28:40 -0700 | |
commit | 3050d5a1a4def6fe90b62854e2252e308f5f708a (patch) | |
tree | 508eb5c8033779b92650f6d129251c1b9a5199b8 /src/main.zig | |
parent | 7005f4c43c8fa403b85f14afcf4c9b5a4c8c4cbc (diff) | |
download | bun-3050d5a1a4def6fe90b62854e2252e308f5f708a.tar.gz bun-3050d5a1a4def6fe90b62854e2252e308f5f708a.tar.zst bun-3050d5a1a4def6fe90b62854e2252e308f5f708a.zip |
Assorted bugfixes but the next step really is porting tests and fixing
Former-commit-id: f59ec8d6c0c95217c1dc24e2ed2dc49aed122a68
Diffstat (limited to 'src/main.zig')
-rw-r--r-- | src/main.zig | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/src/main.zig b/src/main.zig index b1250fc56..d67ba6167 100644 --- a/src/main.zig +++ b/src/main.zig @@ -10,9 +10,24 @@ const js_ast = @import("js_ast.zig"); const linker = @import("linker.zig"); usingnamespace @import("ast/base.zig"); usingnamespace @import("defines.zig"); +const panicky = @import("panic_handler.zig"); + +const MainPanicHandler = panicky.NewPanicHandler(panicky.default_panic); + +pub fn panic(msg: []const u8, error_return_trace: ?*std.builtin.StackTrace) noreturn { + if (MainPanicHandler.Singleton) |singleton| { + MainPanicHandler.handle_panic(msg, error_return_trace); + } else { + panicky.default_panic(msg, error_return_trace); + } +} pub fn main() anyerror!void { try alloc.setup(std.heap.page_allocator); + var log = logger.Log.init(alloc.dynamic); + var panicker = MainPanicHandler.init(&log); + panicker.skip_next_panic = true; + MainPanicHandler.Singleton = &panicker; const args = try std.process.argsAlloc(alloc.dynamic); const stdout = std.io.getStdOut(); @@ -30,7 +45,7 @@ pub fn main() anyerror!void { const code = try file.readToEndAlloc(alloc.dynamic, stat.size); const opts = try options.TransformOptions.initUncached(alloc.dynamic, entryPointName, code); - var log = logger.Log.init(alloc.dynamic); + var source = logger.Source.initFile(opts.entry_point, alloc.dynamic); var ast: js_ast.Ast = undefined; var raw_defines = RawDefines.init(alloc.static); @@ -79,13 +94,10 @@ pub fn main() anyerror!void { ); if (std.builtin.mode == std.builtin.Mode.Debug) { - std.debug.print("\n--AST DEBUG--:\n", .{}); - std.debug.print("Lines: {d}\n", .{ast.approximate_line_count}); - std.debug.print("Parts: {d}\n{s}\n", .{ ast.parts.len, ast.parts }); - std.debug.print("Symbols: {d}\n{s}\n", .{ ast.symbols.len, ast.symbols }); - std.debug.print("Imports: {d}\n{s}\n", .{ ast.named_exports.count(), ast.named_imports }); - std.debug.print("Exports: {d}\n{s}\n", .{ ast.named_imports.count(), ast.named_exports }); - std.debug.print("\n--AST DEBUG--:\n", .{}); + var fixed_buffer = [_]u8{0} ** 512000; + var buf_stream = std.io.fixedBufferStream(&fixed_buffer); + + try ast.toJSON(alloc.dynamic, stderr.writer()); } _ = try stdout.write(printed.js); |