fn charLiteral(zg: *ZonGen, node: Ast.Node.Index, dest_node: Zoir.Node.Index) !void
fn charLiteral(zg: *ZonGen, node: Ast.Node.Index, dest_node: Zoir.Node.Index) !void { const tree = zg.tree; assert(tree.nodeTag(node) == .char_literal); const main_token = tree.nodeMainToken(node); const slice = tree.tokenSlice(main_token); switch (std.zig.parseCharLiteral(slice)) { .success => |codepoint| zg.setNode(dest_node, .{ .tag = .char_literal, .data = codepoint, .ast_node = node, }), .failure => |err| try zg.lowerStrLitError(err, main_token, slice, 0), } }