aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Dylan Conway <dylan.conway567@gmail.com> 2023-07-19 15:26:14 -0700
committerGravatar Dylan Conway <dylan.conway567@gmail.com> 2023-07-19 15:26:14 -0700
commit0dbcb84cbe4684402a1da00f0eeecce545589385 (patch)
treebf88bb793b59df5842b87603ca6de33963fb9a65
parentd74d95d9abbed699e15a8e105e2fe87d0195161e (diff)
downloadbun-0dbcb84cbe4684402a1da00f0eeecce545589385.tar.gz
bun-0dbcb84cbe4684402a1da00f0eeecce545589385.tar.zst
bun-0dbcb84cbe4684402a1da00f0eeecce545589385.zip
fix `make headers`
-rw-r--r--src/bun.js/bindings/header-gen.zig22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/bun.js/bindings/header-gen.zig b/src/bun.js/bindings/header-gen.zig
index eb0de1c09..2c871b15f 100644
--- a/src/bun.js/bindings/header-gen.zig
+++ b/src/bun.js/bindings/header-gen.zig
@@ -833,21 +833,29 @@ pub fn HeaderGen(comptime first_import: type, comptime second_import: type, comp
}
if (@hasDecl(Type, "Export")) {
- const ExportLIst = comptime brk: {
- const Sorder = struct {
- pub fn lessThan(_: @This(), comptime lhs: StaticExport, comptime rhs: StaticExport) bool {
- return std.ascii.orderIgnoreCase(lhs.symbol_name, rhs.symbol_name) == std.math.Order.lt;
+ const ExportList = comptime brk: {
+ const SortContext = struct {
+ data: []StaticExport,
+ pub fn lessThan(comptime ctx: @This(), comptime lhs: usize, comptime rhs: usize) bool {
+ return std.ascii.orderIgnoreCase(ctx.data[lhs].symbol_name, ctx.data[rhs].symbol_name) == std.math.Order.lt;
+ }
+ pub fn swap(comptime ctx: @This(), comptime lhs: usize, comptime rhs: usize) void {
+ const tmp = ctx.data[lhs];
+ ctx.data[lhs] = ctx.data[rhs];
+ ctx.data[rhs] = tmp;
}
};
var extern_list = Type.Export;
- std.sort.block(StaticExport, &extern_list, Sorder{}, Sorder.lessThan);
+ std.sort.insertionContext(0, extern_list.len, SortContext{
+ .data = &extern_list,
+ });
break :brk extern_list;
};
gen.direction = C_Generator.Direction.export_zig;
- if (ExportLIst.len > 0) {
+ if (ExportList.len > 0) {
gen.write("\n#ifdef __cplusplus\n\n");
- inline for (ExportLIst) |static_export| {
+ inline for (ExportList) |static_export| {
processStaticExport(
self,
file,