DoxigAlpha

renderValueNasm

Function parameters

Parameters

#
bw:*Writer
name:[]const u8

Type definitions in this namespace

Types

#

Functions in this namespace

Functions

#
getOutput
Deprecated; use `getOutputFile`.

= .config_header

Values

#
base_id
= .config_header

Source

Implementation

#
fn renderValueNasm(bw: *Writer, name: []const u8, value: Value) !void {
    switch (value) {
        .undef => try bw.print("; %undef {s}\n", .{name}),
        .defined => try bw.print("%define {s}\n", .{name}),
        .boolean => |b| try bw.print("%define {s} {c}\n", .{ name, @as(u8, '0') + @intFromBool(b) }),
        .int => |i| try bw.print("%define {s} {d}\n", .{ name, i }),
        .ident => |ident| try bw.print("%define {s} {s}\n", .{ name, ident }),
        // TODO: use nasm-specific escaping instead of zig string literals
        .string => |string| try bw.print("%define {s} \"{f}\"\n", .{ name, std.zig.fmtString(string) }),
    }
}