aboutsummaryrefslogtreecommitdiff
path: root/lib/compiler/aro/backend/Assembly.zig
blob: d0d14bdd77d1b9d1bc78b8eb85ee6b2b2abbd770 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const std = @import("std");
const Allocator = std.mem.Allocator;

data: []const u8,
text: []const u8,

const Assembly = @This();

pub fn deinit(self: *const Assembly, gpa: Allocator) void {
    gpa.free(self.data);
    gpa.free(self.text);
}

pub fn writeToFile(self: Assembly, file: std.fs.File) !void {
    var file_writer = file.writer(&.{});

    var buffers = [_][]const u8{ self.data, self.text };
    try file_writer.interface.writeSplatAll(&buffers, 1);
}