Emit data structures and functions each in source order
diff --git a/gen/src/write.rs b/gen/src/write.rs
index 8a4133c..7753ebf 100644
--- a/gen/src/write.rs
+++ b/gen/src/write.rs
@@ -20,8 +20,8 @@
let apis_by_namespace = NamespaceEntries::new(apis);
write_namespace_forward_declarations(out, &apis_by_namespace);
- write_namespace_data_structures(out, &apis_by_namespace);
- write_namespace_functions(out, &apis_by_namespace);
+ write_data_structures(out, apis);
+ write_functions(out, apis);
if !header {
out.next_section();
@@ -54,12 +54,7 @@
}
}
-fn write_namespace_data_structures<'a>(
- out: &mut OutFile<'a>,
- ns_entries: &'a NamespaceEntries<'a>,
-) {
- let apis = ns_entries.direct_content();
-
+fn write_data_structures<'a>(out: &mut OutFile<'a>, apis: &'a [Api]) {
let mut methods_for_type = HashMap::new();
for api in apis {
if let Api::RustFunction(efn) = api {
@@ -106,15 +101,9 @@
}
}
}
-
- for (_, nested_ns_entries) in ns_entries.nested_content() {
- write_namespace_data_structures(out, nested_ns_entries);
- }
}
-fn write_namespace_functions<'a>(out: &mut OutFile<'a>, ns_entries: &'a NamespaceEntries<'a>) {
- let apis = ns_entries.direct_content();
-
+fn write_functions<'a>(out: &mut OutFile<'a>, apis: &'a [Api]) {
if !out.header {
for api in apis {
match api {
@@ -131,10 +120,6 @@
write_rust_function_shim(out, efn);
}
}
-
- for (_, nested_ns_entries) in ns_entries.nested_content() {
- write_namespace_functions(out, nested_ns_entries);
- }
}
fn pick_includes_and_builtins(out: &mut OutFile) {