Adapt to new {s} syntax

This commit is contained in:
Robin Voetter
2021-01-03 16:18:32 +01:00
parent 48b2dee325
commit 55e8551cef
3 changed files with 21 additions and 21 deletions

View File

@@ -54,7 +54,7 @@ pub const ResourceGenStep = struct {
const shader_out_path = self.shader_step.add(source); const shader_out_path = self.shader_step.add(source);
var writer = self.resources.writer(); var writer = self.resources.writer();
writer.print("pub const {} = @embedFile(\"", .{ name }) catch unreachable; writer.print("pub const {s} = @embedFile(\"", .{ name }) catch unreachable;
self.renderPath(shader_out_path, writer); self.renderPath(shader_out_path, writer);
writer.writeAll("\");\n") catch unreachable; writer.writeAll("\");\n") catch unreachable;
} }

View File

@@ -1,7 +1,7 @@
const std = @import("std"); const std = @import("std");
const generate = @import("vulkan/generator.zig").generate; const generate = @import("vulkan/generator.zig").generate;
const usage = "Usage: {} [-h|--help] <spec xml path> <output zig source>\n"; const usage = "Usage: {s} [-h|--help] <spec xml path> <output zig source>\n";
pub fn main() !void { pub fn main() !void {
const stderr = std.io.getStdErr(); const stderr = std.io.getStdErr();
@@ -40,7 +40,7 @@ pub fn main() !void {
} else if (maybe_out_path == null) { } else if (maybe_out_path == null) {
maybe_out_path = arg; maybe_out_path = arg;
} else { } else {
try stderr.writer().print("Error: Superficial argument '{}'\n", .{ arg }); try stderr.writer().print("Error: Superficial argument '{s}'\n", .{ arg });
} }
} }
@@ -56,12 +56,12 @@ pub fn main() !void {
const cwd = std.fs.cwd(); const cwd = std.fs.cwd();
const xml_src = cwd.readFileAlloc(allocator, xml_path, std.math.maxInt(usize)) catch |err| { const xml_src = cwd.readFileAlloc(allocator, xml_path, std.math.maxInt(usize)) catch |err| {
try stderr.writer().print("Error: Failed to open input file '{}' ({})\n", .{ xml_path, @errorName(err) }); try stderr.writer().print("Error: Failed to open input file '{s}' ({s})\n", .{ xml_path, @errorName(err) });
return; return;
}; };
const out_file = cwd.createFile(out_path, .{}) catch |err| { const out_file = cwd.createFile(out_path, .{}) catch |err| {
try stderr.writer().print("Error: Failed to create output file '{}' ({})\n", .{ out_path, @errorName(err) }); try stderr.writer().print("Error: Failed to create output file '{s}' ({s})\n", .{ out_path, @errorName(err) });
return; return;
}; };
defer out_file.close(); defer out_file.close();

View File

@@ -399,7 +399,7 @@ fn Renderer(comptime WriterType: type) type {
fn renderCopyright(self: *Self) !void { fn renderCopyright(self: *Self) !void {
var it = mem.split(self.registry.copyright, "\n"); var it = mem.split(self.registry.copyright, "\n");
while (it.next()) |line| { while (it.next()) |line| {
try self.writer.print("// {}\n", .{line}); try self.writer.print("// {s}\n", .{line});
} }
} }
@@ -458,16 +458,16 @@ fn Renderer(comptime WriterType: type) type {
switch (suffix.kind) { switch (suffix.kind) {
.id => { .id => {
if (mem.eql(u8, suffix.text, "ULL")) { if (mem.eql(u8, suffix.text, "ULL")) {
try self.writer.print("@as(u64, {})", .{tok.text}); try self.writer.print("@as(u64, {s})", .{tok.text});
} else if (mem.eql(u8, suffix.text, "U")) { } else if (mem.eql(u8, suffix.text, "U")) {
try self.writer.print("@as(u32, {})", .{tok.text}); try self.writer.print("@as(u32, {s})", .{tok.text});
} else { } else {
return error.InvalidApiConstant; return error.InvalidApiConstant;
} }
}, },
.dot => { .dot => {
const decimal = (try tokenizer.next()) orelse return error.InvalidConstantExpr; const decimal = (try tokenizer.next()) orelse return error.InvalidConstantExpr;
try self.writer.print("@as(f32, {}.{})", .{tok.text, decimal.text}); try self.writer.print("@as(f32, {s}.{s})", .{tok.text, decimal.text});
const f = (try tokenizer.next()) orelse return error.InvalidConstantExpr; const f = (try tokenizer.next()) orelse return error.InvalidConstantExpr;
if (f.kind != .id or !mem.eql(u8, f.text, "f")) { if (f.kind != .id or !mem.eql(u8, f.text, "f")) {
@@ -496,7 +496,7 @@ fn Renderer(comptime WriterType: type) type {
try self.writer.writeAll(zig_name); try self.writer.writeAll(zig_name);
return; return;
} else if (self.extractBitflagName(name)) |bitflag_name| { } else if (self.extractBitflagName(name)) |bitflag_name| {
try self.writeIdentifierFmt("{}Flags{}", .{ try self.writeIdentifierFmt("{s}Flags{s}", .{
trimVkNamespace(bitflag_name.base_name), trimVkNamespace(bitflag_name.base_name),
@as([]const u8, if (bitflag_name.tag) |tag| tag else "") @as([]const u8, if (bitflag_name.tag) |tag| tag else "")
}); });
@@ -512,7 +512,7 @@ fn Renderer(comptime WriterType: type) type {
} else if (mem.startsWith(u8, name, "PFN_vk")) { } else if (mem.startsWith(u8, name, "PFN_vk")) {
// Function pointer type, strip off the PFN_vk part and replace it with Pfn. Note that // Function pointer type, strip off the PFN_vk part and replace it with Pfn. Note that
// this function is only called to render the typedeffed function pointers like vkVoidFunction // this function is only called to render the typedeffed function pointers like vkVoidFunction
try self.writeIdentifierFmt("Pfn{}", .{name[6..]}); try self.writeIdentifierFmt("Pfn{s}", .{name[6..]});
return; return;
} else if (mem.startsWith(u8, name, "VK_")) { } else if (mem.startsWith(u8, name, "VK_")) {
// Constants // Constants
@@ -535,7 +535,7 @@ fn Renderer(comptime WriterType: type) type {
blk: { blk: {
if (param.param_type == .name) { if (param.param_type == .name) {
if (self.extractBitflagName(param.param_type.name)) |bitflag_name| { if (self.extractBitflagName(param.param_type.name)) |bitflag_name| {
try self.writeIdentifierFmt("{}Flags{}", .{ try self.writeIdentifierFmt("{s}Flags{s}", .{
trimVkNamespace(bitflag_name.base_name), trimVkNamespace(bitflag_name.base_name),
@as([]const u8, if (bitflag_name.tag) |tag| tag else "") @as([]const u8, if (bitflag_name.tag) |tag| tag else "")
}); });
@@ -768,7 +768,7 @@ fn Renderer(comptime WriterType: type) type {
try self.writer.writeAll("pub const "); try self.writer.writeAll("pub const ");
try self.renderName(name); try self.renderName(name);
try self.writer.print(" = extern enum({}) {{null_handle = 0, _}};\n", .{backing_type}); try self.writer.print(" = extern enum({s}) {{null_handle = 0, _}};\n", .{backing_type});
} }
fn renderAlias(self: *Self, name: []const u8, alias: reg.Alias) !void { fn renderAlias(self: *Self, name: []const u8, alias: reg.Alias) !void {
@@ -799,7 +799,7 @@ fn Renderer(comptime WriterType: type) type {
try self.writer.writeAll("pub const "); try self.writer.writeAll("pub const ");
try self.writeIdentifier(name); try self.writeIdentifier(name);
try self.writer.print(" = if (@hasDecl(root, \"{}\")) root.", .{name}); try self.writer.print(" = if (@hasDecl(root, \"{s}\")) root.", .{name});
try self.writeIdentifier(name); try self.writeIdentifier(name);
try self.writer.writeAll(" else "); try self.writer.writeAll(" else ");
@@ -807,7 +807,7 @@ fn Renderer(comptime WriterType: type) type {
try self.writer.writeAll(default); try self.writer.writeAll(default);
try self.writer.writeAll(";\n"); try self.writer.writeAll(";\n");
} else { } else {
try self.writer.print("@compileError(\"Missing type definition of '{}'\");\n", .{name}); try self.writer.print("@compileError(\"Missing type definition of '{s}'\");\n", .{name});
} }
} }
@@ -820,7 +820,7 @@ fn Renderer(comptime WriterType: type) type {
} }
fn renderCommandPtrName(self: *Self, name: []const u8) !void { fn renderCommandPtrName(self: *Self, name: []const u8) !void {
try self.writeIdentifierFmt("Pfn{}", .{trimVkNamespace(name)}); try self.writeIdentifierFmt("Pfn{s}", .{trimVkNamespace(name)});
} }
fn renderCommandPtrs(self: *Self) !void { fn renderCommandPtrs(self: *Self) !void {
@@ -849,7 +849,7 @@ fn Renderer(comptime WriterType: type) type {
try self.writer.writeAll("pub const "); try self.writer.writeAll("pub const ");
try self.writeIdentifierWithCase(.snake, trimVkNamespace(ext.name)); try self.writeIdentifierWithCase(.snake, trimVkNamespace(ext.name));
try self.writer.writeAll("= Info {\n"); try self.writer.writeAll("= Info {\n");
try self.writer.print(".name = \"{}\", .version = {},", .{ext.name, ext.version}); try self.writer.print(".name = \"{s}\", .version = {},", .{ext.name, ext.version});
try self.writer.writeAll("};\n"); try self.writer.writeAll("};\n");
} }
try self.writer.writeAll("};\n"); try self.writer.writeAll("};\n");
@@ -863,7 +863,7 @@ fn Renderer(comptime WriterType: type) type {
fn renderWrappersOfDispatchType(self: *Self, name: []const u8, dispatch_type: CommandDispatchType) !void { fn renderWrappersOfDispatchType(self: *Self, name: []const u8, dispatch_type: CommandDispatchType) !void {
try self.writer.print( try self.writer.print(
\\pub fn {}(comptime Self: type) type {{ \\pub fn {s}(comptime Self: type) type {{
\\ return struct {{ \\ return struct {{
\\ \\
, .{name} , .{name}
@@ -899,11 +899,11 @@ fn Renderer(comptime WriterType: type) type {
@setEvalBranchQuota(2000); @setEvalBranchQuota(2000);
try self.writer.print( try self.writer.print(
\\pub fn load({}) !Self {{ \\pub fn load({s}) !Self {{
\\ var self: Self = undefined; \\ var self: Self = undefined;
\\ inline for (std.meta.fields(Self)) |field| {{ \\ inline for (std.meta.fields(Self)) |field| {{
\\ const name = @ptrCast([*:0]const u8, field.name ++ "\x00"); \\ const name = @ptrCast([*:0]const u8, field.name ++ "\x00");
\\ const cmd_ptr = loader({}name) orelse return error.InvalidCommand; \\ const cmd_ptr = loader({s}name) orelse return error.InvalidCommand;
\\ @field(self, field.name) = @ptrCast(field.field_type, cmd_ptr); \\ @field(self, field.name) = @ptrCast(field.field_type, cmd_ptr);
\\ }} \\ }}
\\ return self; \\ return self;
@@ -1042,7 +1042,7 @@ fn Renderer(comptime WriterType: type) type {
} }
fn renderReturnStructName(self: *Self, command_name: []const u8) !void { fn renderReturnStructName(self: *Self, command_name: []const u8) !void {
try self.writeIdentifierFmt("{}Result", .{trimVkNamespace(command_name)}); try self.writeIdentifierFmt("{s}Result", .{trimVkNamespace(command_name)});
} }
fn renderReturnStruct(self: *Self, command_name: []const u8, returns: []const ReturnValue) !void { fn renderReturnStruct(self: *Self, command_name: []const u8, returns: []const ReturnValue) !void {